"Draw a graph in the programming language Julia" I succeeded in moving the sample for the time being, but the data created by my own program (in Julia language) I decided to find out how to draw a graph using. I made a sample to display the legend / axis label and change the background color / foreground color (for printing). As usual, the calculation result obtained by Julia is displayed as a graph in PyQtGraph. (Please create an environment and move it)
Note: For the environment construction, refer to "Drawing a graph in the programming language Julia".
jl:ArrowSample2.jl(C:\julia-0.2.1-win32\Save to bin)
# -*- coding: utf-8 -*-
using PyCall
@pyimport ArrowSample2
x = linspace(-10, 10, 2001)
y1 = [ x[i]*x[i] for i=1:length(x) ]
y2 = [ x[i]*2+50 for i=1:length(x) ]
ArrowSample2.graph_run(x, y1, y2)
python:ArrowSample2.py(C:\julia-0.2.1-win32\Save to bin)
# -*- coding: utf-8 -*-
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
def graph_run(plot_data_x, plot_data_y1, plot_data_y2):
app = QtGui.QApplication([])
#Specifying antialiasing makes the plot cleaner
pg.setConfigOptions(antialias=True)
pg.setConfigOption('background', (255, 255, 255)) #Background = white
pg.setConfigOption('foreground', (0, 0, 0)) #Foreground = black
win = pg.GraphicsWindow(title=u'Julia+PyQtGraph sample')
win.resize(400,300)
mypen=pg.mkPen(color=(255, 0, 0), style=QtCore.Qt.DotLine) #Dotted line, red
p1 = win.addPlot(title=u'Legend, axis label, background color / foreground color')
p1.setLabel('left', u'Y axis', units=u'Seconds')
p1.setLabel('bottom', u'X axis', units=u'm')
p1.addLegend()
c1 = p1.plot(x=plot_data_x, y=plot_data_y1, pen=(0,0,255), name=u'Graph 1') #Solid line, blue
c2 = p1.plot(x=plot_data_x, y=plot_data_y2, pen=mypen, name=u'Graph 2') #Dotted line, red
p1.showGrid(x=True, y=True) #Show grid
#Arrow animation(Graph 1)
a1 = pg.CurveArrow(c1)
p1.addItem(a1)
anim1 = a1.makeAnimation(loop=-1)
anim1.start()
#Arrow animation(Graph 2)
a2 = pg.CurveArrow(c2)
p1.addItem(a2)
anim2 = a2.makeAnimation(loop=-1)
anim2.start()
app.exec_()