J'ai essayé de créer un environnement pour dessiner des graphiques avec le langage de programmation Julia. Le Package PySide a été ajouté.
L'exemple de programme qui affiche le graphique à la fin de la phrase est attaché au PySide Package de Julia. Avec quelques modifications (ajout de PySide.app [: exec_]()
à la dernière ligne).
(Si vous avez des bugs ou des commentaires, veuillez contacter https://twitter.com/akmiyoshi)
J'ai (plus tard) posté la procédure de création d'un environnement sous Windows 7 </ del>.
Si vous êtes intéressé, veuillez stocker.
Mon environnement est Windows 7 Home Premium 64 bits, mais j'ai installé la version 32 bits du programme pour toute construction d'environnement.
Si vous suivez cette procédure, elle fonctionnera sur les versions 32 bits et 64 bits du système d'exploitation Windows (XP SP2 ou version ultérieure).
[Ajout] Les étapes 4, 6 et 11 ont été ajoutées au 04/07/2014. Si vous avez vu cet article et créé votre environnement avant le 04/07/2014, veuillez suivre les étapes 4, 6 et 11. Je vous remercie.
1. Installez Python 2.7.7 (32 bits).
- Depuis https://www.python.org/download/, accédez à Python 2.7.7 Windows Installer Télécharger. (Notez qu'il ne s'agit pas du programme d'installation X86-64)
- Lancez python-2.7.7.msi et installez. Installez dans le C: \ Python27 par défaut. ** Gardez "Ajouter python.exe au chemin" activé ** (désactivé par défaut).
2. Installez numpy (32 bits).
- Depuis http://sourceforge.net/projects/numpy/files/NumPy/1.8.1/ [numpy-1.8.1-win32-superpack-python2.7.exe](http://sourceforge.net/projects/ Téléchargez numpy / files / NumPy / 1.8.1 / numpy-1.8.1-win32-superpack-python2.7.exe / download).
- Lancez numpy-1.8.1-win32-superpack-python2.7.exe et installez avec les paramètres par défaut.
3. Installez scipy (32 bits).
- Depuis http://sourceforge.net/projects/scipy/files/scipy/0.14.0/ [scipy-0.14.0-win32-superpack-python2.7.exe](http://sourceforge.net/projects/ Téléchargez scipy / files / scipy / 0.14.0 / scipy-0.14.0-win32-superpack-python2.7.exe / download).
- Lancez scipy-0.14.0-win32-superpack-python2.7.exe et installez avec les paramètres par défaut.
4. Installez matplotlib. (Ajouté le 04/07/2014)
- Depuis http://matplotlib.org/downloads.html [matplotlib-1.3.1.win32-py2.7.exe](https://downloads.sourceforge.net/project/matplotlib/matplotlib/matplotlib-1.3.1 /matplotlib-1.3.1.win32-py2.7.exe) est téléchargé.
- Démarrez matplotlib-1.3.1.win32-py2.7.exe et installez avec les paramètres par défaut.
5. Installez pip (un outil pour installer / gérer les packages Python).
- Ouvrez https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py dans un navigateur Web
- Pour Google Chrome, faites un clic droit sur le texte et sélectionnez "Enregistrer sous". Pour Internet Explorer, appuyez sur Alt et sélectionnez Enregistrer sous dans le menu Fichier. (Si vous ne savez pas comment l'enregistrer sous, utilisez Ctrl-A pour sélectionner tout le texte, collez-le dans un éditeur de texte et enregistrez-le sous get-pip.py)
- Démarrez l'invite de commande ("Bouton Démarrer" ⇒ "Tous les programmes" ⇒ "Accessoires" ⇒ "Invite de commandes") Démarrez
python </ del> get-pip.py comme suit. ("C: \ get-pip.py" est un exemple où get-pip.py est enregistré directement sous le lecteur C)
C:\Users\root>c:\get-pip.py
6. Installez les bibliothèques dépendantes de matplotlib. (Ajouté le 04/07/2014)
C:\Users\root>cd \Python27\Scripts
- Démarrez l'invite de commande, changez le répertoire actuel en "C: \ Python27 \ Scripts", puis exécutez "pip install -U python -dateutil" et "pip install -U pyparsing".
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U python-dateutil
C:\Python27\Scripts>pip install -U pyparsing
7. Installez PySide.
- Démarrez une invite de commande, changez le répertoire actuel en "C: \ Python27 \ Scripts", puis exécutez "pip install -U Py Side".
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U PySide
8. Installez PyOpenGL.
- Démarrez une invite de commande, changez le répertoire actuel en "C: \ Python27 \ Scripts" et exécutez "pip install -U PyOpen GL".
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U PyOpenGL
9. Installez PyQtGraph (32 bits).
- Téléchargez pyqtgraph-0.9.8.win32.exe depuis http://www.pyqtgraph.org/.
- Démarrez pyqtgraph-0.9.8.win32.exe et installez avec les paramètres par défaut.
- Double-cliquez sur * .py sous C: \ Python27 \ Lib \ site-packages \ pyqtgraph \ examples et vérifiez que différents graphiques (2D / 3D) sont affichés.
10. Installez Julia (32 bits).
- Depuis http://julialang.org/downloads/ [julia-0.2.1-win32.exe](http://s3.amazonaws.com/julialang/bin/winnt/x86/0.2/julia-0.2.1- télécharger win32.exe).
- Démarrez julia-0.2.1-win32.exe et extrayez-le directement sous le lecteur C (C: \).
- Le nom du dossier après la décompression sera quelque chose comme "julia-e44b593905", changez-le donc en "julia-0.2.1-win32".
- Créez un raccourci vers "C: \ julia-0.2.1-win32 \ julia.bat" sur votre bureau.
- Ouvrez "C: \ julia-0.2.1-win32 \ julia.bat" avec un éditeur de texte et modifiez-le. Tapez "pause" sous la dernière ligne. (Cette étape est facultative, mais utile si vous obtenez une erreur dans votre programme Julia)
11. Ajoutez le package PyPlot à Julia. (Ajouté le 04/07/2014)
- Double-cliquez sur le raccourci vers julia.bat pour lancer l'interpréteur de Julia.
- Exécutez "Pkg.add (" PyPlot ")".
julia> Pkg.add("PyPlot")
12. Ajoutez le package PySide à Julia.
- Double-cliquez sur le raccourci vers julia.bat pour lancer l'interpréteur de Julia.
- Exécutez "Pkg.add (" PySide ")".
julia> Pkg.add("PySide")
13. Exécutez l'exemple de programme.
- Enregistrez le code source (pyqtgraph.jl) à la fin de la phrase dans un répertoire arbitraire avec le nom de fichier "pyqtgraph.jl".
- Double-cliquez sur le "pyqtgraph.jl" enregistré. Sélectionnez "Sélectionnez un programme dans la liste des programmes installés" et cliquez sur "OK". Appuyez ensuite sur "Parcourir", sélectionnez "C: \ julia-0.2.1-win32 \ julia.bat" et cliquez sur "Ouvrir". (Associez "julia.bat" à l'extension ".jl")
- Succès si l'écran ci-dessus (de 9 graphiques) est affiché.
pyqtgraph.jl
## using the PyQtGraph submodule
## Examples from pyqtgraphs plotting.py
## translated into julia style
using PySide
reload(Pkg.dir("PySide", "src", "pyqtgraph.jl"))
using PyQtGraph
using PyCall
w = Widget()
lyt = VBoxLayout(w)
setLayout(w, lyt)
## Graphics Layout Widget make grid of plot devices
win = GraphicsLayoutWidget(w)
addWidget(lyt, win)
set_size(w, 800, 600)
raise(w)
## addPlot adds a plot device in next column over and returns a plot object
p1 = addPlot(win, title="Basic array plotting")
p1.plot(randn(100))
p2 = addPlot(win, title="Multiple curves")
p2.plot(randn(100), pen=(255,0,0))
p2.plot(randn(100) .+ 5, pen=(0, 255, 0))
p2.plot(randn(100) .+ 10, pen=(0,0,255))
p3 = addPlot(win, title="Drawing with points")
p3.plot(randn(100), pen=(200, 200, 200), symbolBrush=(255,0,0), symbolPen="w")
nextRow(win)
p4 = addPlot(win, title="Parametric, grid enabled")
p4.plot(sin(linspace(0, 2pi, 1000)), cos(linspace(0, 2pi, 1000)))
p4.showGrid() # defaults x=true, y=true
p5 = addPlot(win, title="Scatter plot, axis labels, log scale")
x = 1e-5 * rand(1000)
y = x*1000 .+ 0.005 * randn(1000)
y -= minimum(y).-1.0
mask = x .> 1e-15
x = x[mask]
y = y[mask]
p5.plot(x, y, pen=nothing, symbol="t", symbolPen=nothing, symbolSize=10, symbolBrush=(100, 100, 255, 50))
p5.setLabel("left", text="Y Axis", units="A")
p5.setLabel("bottom", text="Y Axis", units="s")
p5.setLogMode(x=true, y=false)
p6 = addPlot(win, title="Updating plot")
curve = p6.plot(pen="y")
data = randn(10000, 10)
ptr = 0
function update()
global curve, data, ptr, p6
qinvoke(curve, :setData, 1:10_000, data[:, 1 + ptr]) # had to fix this
if ptr == 0
p6.enableAutoRange("xy", false) ## stop auto-scaling after the first data set is plotted
end
ptr = (ptr + 1) % 10
end
timer = QtCore[:QTimer]()
qconnect(timer, :timeout, update)
qinvoke(timer, :start, 50)
nextRow(win)
p7 = addPlot(win, title="Filled plot, axis disabled")
y = sin(linspace(0.0, 10, 1000)) .+ randn(1000)*0.1
p7.plot(y, fillLevel=-0.3, brush=(50,50,200,100))
p7.showAxis("bottom", show=false)
p8 = addPlot(win, title="Region Selection")
x2 = linspace(-100, 100, 1000)
data2 = sin(x2) ./ x2
p8.plot(data2, pen=(255,255,255,200))
## no special functions for LinearRegionItem
lr = pyqtgraph.(:LinearRegionItem)([400,700])
qinvoke(lr, :setZValue, -10)
p8.addItem(lr)
p9 = addPlot(win, title="zoom")
p9.plot(data2)
function updatePlot()
p9.setXRange(lr[:getRegion]()...,padding=0)
end
function updateRegion()
view_range = qinvoke(p9, [:getViewBox, :viewRange]) # 2x2 array
x_range = Int[view_range[1,j] for j in 1:2] # a vector, not just view_range[1,:]'
lr[:setRegion](x_range)
end
qconnect(lr, :sigRegionChanged, updatePlot)
#qconnect(p9, :sigXRangeChanged, updateRegion) ## this is giving issues. Find out why.
updatePlot()
#raise(w)
PySide.app[:exec_]()