[LINUX] Zeichnen Sie Diagramme in Julia ... Überlassen Sie die Diagramme Python

Es ist mir gelungen, das Beispiel vorerst mit "Zeichnen eines Diagramms mit der Programmiersprache Julia" zu verschieben, aber mit den von meinem eigenen Programm erstellten Daten (in der Sprache Julia) Ich beschloss herauszufinden, wie man ein Diagramm mit zeichnet. Nun, ich wollte 3D-Graph (OpenGL) verwenden und dachte, es wäre schwierig, den gesamten Beispielcode von PyQtGraph auf Julia zu portieren. ** Okay, Richtlinienänderung ... Überlassen wir alle Grafiken Python! ** ** **

Infolgedessen wurde es der Quellcode am Ende des Satzes.

test3.gif

Indem die Verarbeitung von Grafiken ** dem Python-Code ** überlassen wird, ist die Entwicklung sehr einfach geworden! Wenn Julia danach ein Beispiel erstellen kann, das eine solche Berechnungsverarbeitung durchführt ... ** Als nächstes versuchen wir ein 3D-Diagramm mit OpenGL! ** ** **

Hinweis: Informationen zur Umgebungskonstruktion finden Sie unter "Zeichnen von Diagrammen in der Programmiersprache Julia".

text:Plotting.jl(C:\julia-0.2.1-win32\In den Papierkorb speichern)


using PyCall

@pyimport Plotting
Plotting.my_graph_set([1, 2, 3, 4, 5, 10, 20, 5])
Plotting.my_graph_run()

python:Plotting.py(C:\julia-0.2.1-win32\In den Papierkorb speichern)


# -*- coding: utf-8 -*-
"""
This example demonstrates many of the 2D plotting capabilities
in pyqtgraph. All of the plots may be panned/scaled by dragging with 
the left/right mouse buttons. Right click on any plot to show a context menu.
"""

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg

plot_data_1 = []

def my_graph_set(plot_data):
	global plot_data_1
	plot_data_1 = plot_data

def my_graph_run():
	global plot_data_1

	app = QtGui.QApplication([])

	win = pg.GraphicsWindow(title="Basic plotting examples")
	win.resize(800,600)
	win.setWindowTitle('pyqtgraph example: Plotting')

	# Enable antialiasing for prettier plots
	pg.setConfigOptions(antialias=True)

	p1 = win.addPlot(title="Basic array plotting", y=plot_data_1)

	p2 = win.addPlot(title="Multiple curves")
	p2.plot(np.random.normal(size=100), pen=(255,0,0))
	p2.plot(np.random.normal(size=100)+5, pen=(0,255,0))
	p2.plot(np.random.normal(size=100)+10, pen=(0,0,255))

	p3 = win.addPlot(title="Drawing with points")
	p3.plot(np.random.normal(size=100), pen=(200,200,200), symbolBrush=(255,0,0), symbolPen='w')

	win.nextRow()

	p4 = win.addPlot(title="Parametric, grid enabled")
	x = np.cos(np.linspace(0, 2*np.pi, 1000))
	y = np.sin(np.linspace(0, 4*np.pi, 1000))
	p4.plot(x, y)
	p4.showGrid(x=True, y=True)

	p5 = win.addPlot(title="Scatter plot, axis labels, log scale")
	x = np.random.normal(size=1000) * 1e-5
	y = x*1000 + 0.005 * np.random.normal(size=1000)
	y -= y.min()-1.0
	mask = x > 1e-15
	x = x[mask]
	y = y[mask]
	p5.plot(x, y, pen=None, symbol='t', symbolPen=None, symbolSize=10, symbolBrush=(100, 100, 255, 50))
	p5.setLabel('left', "Y Axis", units='A')
	p5.setLabel('bottom', "Y Axis", units='s')
	p5.setLogMode(x=True, y=False)

	global curve, data, ptr, p6
	p6 = win.addPlot(title="Updating plot")
	curve = p6.plot(pen='y')
	data = np.random.normal(size=(10,1000))
	ptr = 0
	def update():
		global curve, data, ptr, p6
		curve.setData(data[ptr%10])
		if ptr == 0:
			p6.enableAutoRange('xy', False)  ## stop auto-scaling after the first data set is plotted
		ptr += 1
	timer = QtCore.QTimer()
	timer.timeout.connect(update)
	timer.start(50)

	win.nextRow()

	p7 = win.addPlot(title="Filled plot, axis disabled")
	y = np.sin(np.linspace(0, 10, 1000)) + np.random.normal(size=1000, scale=0.1)
	p7.plot(y, fillLevel=-0.3, brush=(50,50,200,100))
	p7.showAxis('bottom', False)

	x2 = np.linspace(-100, 100, 1000)
	data2 = np.sin(x2) / x2
	p8 = win.addPlot(title="Region Selection")
	p8.plot(data2, pen=(255,255,255,200))
	lr = pg.LinearRegionItem([400,700])
	lr.setZValue(-10)
	p8.addItem(lr)

	p9 = win.addPlot(title="Zoom on selected region")
	p9.plot(data2)
	def updatePlot():
	    p9.setXRange(*lr.getRegion(), padding=0)
	def updateRegion():
	    lr.setRegion(p9.getViewBox().viewRange()[0])
	lr.sigRegionChanged.connect(updatePlot)
	p9.sigXRangeChanged.connect(updateRegion)
	updatePlot()

	QtGui.QApplication.instance().exec_()

Recommended Posts

Zeichnen Sie Diagramme in Julia ... Überlassen Sie die Diagramme Python
Zeichnen Sie Grafiken in der Programmiersprache Julia
Überlassen Sie die mühsame Verarbeitung Python
Im Python-Befehl zeigt Python auf Python3.8
Geben Sie "Farn programmgesteuert zeichnen" in den Zeichenprozess in Python ein
Verwendung der C-Bibliothek in Python
[Python] Zeichnen mehrerer Diagramme mit Matplotlib
Dynamisches Ersetzen der nächsten Methode in Python
Tipps zum Schreiben werden in Python kurz abgeflacht
So erhalten Sie die Dateien im Ordner [Python]
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
Zeichnen Sie ein Diagramm mit Python
Ich möchte den Fortschritt in Python anzeigen!
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Verstehen Sie die Exponentialverteilung sorgfältig und zeichnen Sie in Python
Konvertieren Sie das Bild in .zip mit Python in PDF
Verstehe die Poisson-Distribution sorgfältig und zeichne in Python
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Verwendung des in Lobe in Python erlernten Modells
[Python] So geben Sie Listenwerte der Reihe nach aus
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Ich möchte R-Datensatz mit Python verwenden
Python Open CV hat versucht, das Bild im Text anzuzeigen.
So löschen Sie stdout in Python
Zeichnen Sie MP3-Wellenformen in Python
Finde Fehler in Python
Melden Sie sich auf der Website in Python an
Zeichnen Sie "Farn programmgesteuert zeichnen" in Python
Zeichne die Yin-Funktion in Python
Sprechen mit Python [Text zu Sprache]
Wie man in Python entwickelt
Zeichne ein Herz in Python
Post an Slack in Python
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
So debuggen Sie eine Standard-Python-Bibliothek in Visual Studio
[Python] Verwendung von Matplotlib, einer Bibliothek zum Zeichnen von Diagrammen
Verwendung der Methode __call__ in der Python-Klasse
Verschiedene Methoden zur Berechnung der Ähnlichkeit zwischen Daten mit Python
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Zeichnen Sie Sinuswellen mit Blender Python
Programmieren, um in der Welt zu kämpfen ~ 5-1
Programmierung, um in der Welt zu kämpfen ~ 5-5,5-6
Programmieren, um in der Welt zu kämpfen 5-3
Abrufen der arXiv-API in Python
Konvertieren Sie Markdown in Python in PDF
Python im Browser: Brythons Empfehlung
So sammeln Sie Bilder in Python
Klicken Sie in Python auf die Sesami-API
Zeichnen Sie Knoten interaktiv mit Plotly (Python)
Holen Sie sich den Desktop-Pfad in Python
Verwendung von SQLite in Python
Programmierung für den Kampf in der Welt - Kapitel 4
Holen Sie sich den Skriptpfad in Python
Implementieren Sie das Singleton-Muster in Python
So erhalten Sie die Python-Version
Versuchen Sie, Trace in Python zu berechnen