Ich habe versucht, eine Umgebung zum Zeichnen von Grafiken mit der Programmiersprache Julia zu erstellen. Das PySide-Paket wurde hinzugefügt.
Das Beispielprogramm, das die Grafik am Ende des Satzes anzeigt, ist dem PySide-Paket von Julia beigefügt. Mit einigen Änderungen (PySide.app : exec_ in der letzten Zeile hinzugefügt).
(Wenn Sie Fehler oder Kommentare haben, wenden Sie sich bitte an https://twitter.com/akmiyoshi)
Ich habe (später) die Prozedur zum Erstellen einer Umgebung unter Windows 7 </ del> veröffentlicht.
Bei Interesse bitte lagern.
Meine Umgebung ist Windows 7 Home Premium 64-Bit, aber ich habe die 32-Bit-Version des Programms für alle Umgebungskonstruktionen installiert.
Wenn Sie dieses Verfahren befolgen, funktioniert es sowohl unter 32-Bit- als auch unter 64-Bit-Versionen des Windows-Betriebssystems (XP SP2 oder höher).
[Hinzufügung] Die Schritte 4, 6 und 11 wurden zum 04.07.2014 hinzugefügt. Wenn Sie diesen Artikel gesehen und Ihre Umgebung vor dem 04.07.2014 erstellt haben, befolgen Sie bitte die Schritte 4, 6 und 11. Vielen Dank.
1. Installieren Sie Python 2.7.7 (32 Bit).
- Gehen Sie von https://www.python.org/download/ zu Python 2.7.7 Windows Installer. herunterladen. (Beachten Sie, dass es sich nicht um das X86-64-Installationsprogramm handelt.)
- Starten Sie python-2.7.7.msi und installieren Sie. Installieren Sie im Standard C: \ Python27. ** Lassen Sie "Add python.exe to Path" aktiviert ** (standardmäßig deaktiviert).
2. Installieren Sie numpy (32bit).
- Von http://sourceforge.net/projects/numpy/files/NumPy/1.8.1/ [numpy-1.8.1-win32-superpack-python2.7.exe](http://sourceforge.net/projects/ numpy / files / NumPy / 1.8.1 / numpy-1.8.1-win32-superpack-python2.7.exe / download) wird heruntergeladen.
- Starten Sie numpy-1.8.1-win32-superpack-python2.7.exe und installieren Sie es mit den Standardeinstellungen.
3. Installieren Sie scipy (32bit).
- Von http://sourceforge.net/projects/scipy/files/scipy/0.14.0/ scipy-0.14.0-win32-superpack-python2.7.exe Laden Sie scipy / files / scipy / 0.14.0 / scipy-0.14.0-win32-superpack-python2.7.exe / download herunter.
- Starten Sie scipy-0.14.0-win32-superpack-python2.7.exe und installieren Sie es mit den Standardeinstellungen.
4. Installieren Sie matplotlib. (Hinzugefügt am 04.07.2014)
- Von 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) wird heruntergeladen.
- Starten Sie matplotlib-1.3.1.win32-py2.7.exe und installieren Sie es mit den Standardeinstellungen.
5. Installieren Sie pip (ein Tool zum Installieren / Verwalten von Python-Paketen).
- Öffnen Sie https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py in einem Webbrowser
- Klicken Sie bei Google Chrome mit der rechten Maustaste auf den Text und wählen Sie "Speichern unter". Drücken Sie in Internet Explorer die Alt-Taste und wählen Sie im Menü Datei die Option Speichern unter. (Wenn Sie nicht wissen, wie Sie es speichern sollen, wählen Sie mit Strg-A den gesamten Text aus, fügen Sie ihn in einen Texteditor ein und speichern Sie ihn als get-pip.py.)
- Starten Sie die Eingabeaufforderung ("Start Button" ⇒ "All Programs" ⇒ "Zubehör" ⇒ "Eingabeaufforderung") Starten Sie
python </ del> get-pip.py wie folgt. ("C: \ get-pip.py" ist ein Beispiel, wenn get-pip.py direkt unter dem Laufwerk C gespeichert wird.)
C:\Users\root>c:\get-pip.py
6. Installieren Sie die matplotlib-abhängigen Bibliotheken. (Hinzugefügt am 04.07.2014)
C:\Users\root>cd \Python27\Scripts
- Starten Sie eine Eingabeaufforderung, ändern Sie das aktuelle Verzeichnis in "C: \ Python27 \ Scripts" und führen Sie dann "pip install -U python -dateutil" und "pip install -U pyparsing" aus.
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U python-dateutil
C:\Python27\Scripts>pip install -U pyparsing
7. Installieren Sie PySide.
- Starten Sie eine Eingabeaufforderung, ändern Sie das aktuelle Verzeichnis in "C: \ Python27 \ Scripts" und führen Sie dann "pip install -U Py Side" aus.
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U PySide
8. Installieren Sie PyOpenGL.
- Starten Sie eine Eingabeaufforderung, ändern Sie das aktuelle Verzeichnis in "C: \ Python27 \ Scripts" und führen Sie "pip install -U PyOpen GL" aus.
C:\Users\root>cd \Python27\Scripts
C:\Python27\Scripts>pip install -U PyOpenGL
9. Installieren Sie PyQtGraph (32 Bit).
- Laden Sie pyqtgraph-0.9.8.win32.exe von http://www.pyqtgraph.org/ herunter.
- Starten Sie pyqtgraph-0.9.8.win32.exe und installieren Sie es mit den Standardeinstellungen.
- Doppelklicken Sie unter C: \ Python27 \ Lib \ site-packages \ pyqtgraph \ examples auf * .py und überprüfen Sie, ob verschiedene Diagramme (2D / 3D) angezeigt werden.
10. Installieren Sie Julia (32 Bit).
- Von http://julialang.org/downloads/ [julia-0.2.1-win32.exe](http://s3.amazonaws.com/julialang/bin/winnt/x86/0.2/julia-0.2.1- win32.exe herunterladen).
- Starten Sie julia-0.2.1-win32.exe und extrahieren Sie es direkt unter dem Laufwerk C (C: \).
- Der Ordnername nach der Dekomprimierung lautet etwa "julia-e44b593905". Ändern Sie ihn daher in "julia-0.2.1-win32".
- Erstellen Sie auf Ihrem Desktop eine Verknüpfung zu "C: \ julia-0.2.1-win32 \ julia.bat".
- Öffnen Sie "C: \ julia-0.2.1-win32 \ julia.bat" mit einem Texteditor und bearbeiten Sie ihn. Geben Sie "Pause" unter der letzten Zeile ein. (Dieser Schritt ist optional, aber nützlich, wenn Sie einen Fehler in Ihrem Julia-Programm erhalten.)
11. Fügen Sie Julia das PyPlot-Paket hinzu. (Hinzugefügt am 04.07.2014)
- Doppelklicken Sie auf die Verknüpfung zu julia.bat, um Julias Interpreter zu starten.
- Führen Sie "Pkg.add (" PyPlot ")" aus.
julia> Pkg.add("PyPlot")
12. Fügen Sie Julia das PySide-Paket hinzu.
- Doppelklicken Sie auf die Verknüpfung zu julia.bat, um Julias Interpreter zu starten.
- Führen Sie "Pkg.add (" PySide ")" aus.
julia> Pkg.add("PySide")
13. Führen Sie das Beispielprogramm aus.
- Speichern Sie den Quellcode (pyqtgraph.jl) am Ende des Satzes in einem beliebigen Verzeichnis mit dem Dateinamen "pyqtgraph.jl".
- Doppelklicken Sie auf die gespeicherte "pyqtgraph.jl". Wählen Sie "Programm aus der Liste der installierten Programme auswählen" und klicken Sie auf "OK". Drücken Sie dann "Durchsuchen", wählen Sie "C: \ julia-0.2.1-win32 \ julia.bat" und klicken Sie auf "Öffnen". (Verknüpfen Sie "julia.bat" mit der Erweiterung ".jl")
- Erfolg, wenn der obige Bildschirm (mit 9 Grafiken) angezeigt wird.
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_]()