Hvordan du bruker pyqtgraph?

Hvordan du bruker pyqtgraph?

De vitenskapelige eller numeriske visualiseringsoppgavene kan enkelt gjøres i Python ved å bruke forskjellige Python -biblioteker, for eksempel Plotly, matplotlib, seaborn, ggplot, pyqt, etc. Pyqtgraph er en nyttig modul for Pyqt Bibliotek for å lage en graf. Denne modulen kan lage grafer veldig raskt. 2D- og 3D -grafikk kan opprettes ved å bruke denne modulen. Hvordan bruke Pyqtgraph Modul for å tegne forskjellige typer grafer har vist i denne opplæringen.

Forutsetninger

Du må installere PYQTgraph -modulen i systemet ditt før du oppretter grafen. Kjør følgende kommando for å installere pyqtgraph ved å bruke pip3.

$ sudo pip3 installer pyqtgraph

Tegn linjegraf

Et linjekart eller linjediagram er et diagram som viser informasjon ved å bruke en serie dataplotter. Plotwidget Widget brukes til å lage alle plott av pyqtgraph. Denne widgeten inneholder et lerret som en hvilken som helst tomt kan legges til eller fjernes.

Eksempel-1: Tegn en enkel linjediagram

Følgende skript viser måten å tegne en linjediagram ved å bruke tilfeldige tall. område() Funksjon brukes til å generere 10 sekvensielle tall som brukes til x-akserverdier. De tilfeldig Modul av Python brukes til å generere 10 tilfeldige heltallstall som brukes til y-akserverdier. plott() Metode brukes til å tegne hvert plott av linjegrafen basert på verdiene til x-aksen og y-aksen. Når koden utføres i interaktiv modus, så sys.flagg.interaktiv flagget vil være ekte. Hvis dette flaggets verdi ikke er sant, indikerer det at QT -hendelsessløyfen ikke krever å kjøre fordi REPL (Kjør, evaluerer, trykker ut, sløyfe) allerede har en hendelsessløyfe.

# Importer tilfeldig modul
# Importer tilfeldig modul
Importer tilfeldig som RD
# Import pyqtgraph -modulen
Importer pyqtgraph som PG
# Import qtgui fra pyqtgraph -modulen
Fra Pyqtgraph.QT import qtgui
# Generer x-akserverdier
x = rekkevidde (0, 10)
# Generer y-aksverdier
y = []
for i i rekkevidde (0, 10):
n = rd.Randint (0, 20)
y.vedlegg (n)
# Initialiser plottet
PLT = PG.plott()
# Angi etiketten for x -aksen
plt.setLabel ('bunn', 'sekvensielt genererte verdier')
# Angi etiketten for y-aksen
plt.setLabel ('venstre', 'tilfeldig genererte verdier')
# Sett horisontalt område
plt.setXrange (0, 10)
# Angi vertikalt område
plt.setyrange (0, 20)
# Angi tittelen på grafen
plt.Settitle ("Simple Line Graph")
# Angi plottverdiene
linje = plt.plot (x, y)
# Hovedmetode
if __name__ == '__main__':
# Importer SYS -modul
Importer Sys
# Start QT Event Loop med mindre du kjører i interaktiv modus
Hvis sys.flagg.interaktiv != 1:
Qtgui.Qapplication.forekomst().exec ()

Produksjon:

Følgende lignende linjegraf vises etter å ha utført skriptet ovenfor. Grafen vil variere i hver utførelse for tilfeldige verdier.

Eksempel-2: Tegn en linjegraf med styling og markør

Følgende skript viser hvordan du tegner en stylistlinjegraf basert på verdiene til en Python -liste. mkpen () Funksjon brukes til å stille inn linjens farge og bredde. 'o'brukes som markøren i grafen, og fargen og bredden på markøren er satt ved å bruke symbolpen og symbolstørrelse egenskaper.

# Import pyqtgraph -modulen
# Import pyqtgraph -modulen
Importer pyqtgraph som PG
# Import qtgui fra pyqtgraph -modulen
Fra Pyqtgraph.QT import qtgui
# Generer x-akserverdier
x = rekkevidde (0, 10)
# Generer y-aksverdier
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Initialiser plottet
PLT = PG.plott()
# Angi etiketten for x -aksen
plt.setLabel ('bunn', 'x-akse verdier')
# Angi etiketten for y-aksen
plt.setLabel ('venstre', 'y-aksverdier')
# Sett horisontalt område
plt.setXrange (0, 10)
# Angi vertikalt område
plt.setyrange (0, 20)
# Angi tittelen på grafen
plt.Settitle ("Linjegraf med styling og markør")
# Angi bakgrunnsfargen
plt.tilbakeslag ('d5ecf2')
# Angi plottverdiene med pennfarge og bredde
linje = plt.plot (x, y, penn = pg.mkpen ('r', bredde = 6), symbol = 'o', symbolpen = 'b', symbolstørrelse = 20)
# Legg til legende
plt.Addlegend ()
# Vis rutenett
plt.ShowGrid (x = true, y = true)
# Hovedmetode
if __name__ == '__main__':
# Importer SYS -modul
Importer Sys
# Start QT Event Loop med mindre du kjører i interaktiv modus
Hvis sys.flagg.interaktiv != 1:
Qtgui.Qapplication.forekomst().exec_ ()
# Hovedmetode
if __name__ == '__main__':
# Importer SYS -modul
Importer Sys
# Start QT Event Loop med mindre du kjører i interaktiv modus
Hvis sys.flagg.interaktiv != 1:
Qtgui.Qapplication.forekomst().exec_ ()

Produksjon:

Følgende linjegraf vises etter å ha utført skriptet ovenfor.

Tegn søylediagram

Et sett med data kan visualiseres ved å bruke en søylediagram. En enkel stolpe oppretter ved å sammenligne listen over data med et relatert dataområde. BargraphItem Klassen brukes til å lage stolpegrafen ved å bruke pyqtgraph.

Eksempel-3: Tegn en søylediagram

Følgende skript viser hvordan du tegner en stolpediagram basert på verdiene til en numpy matrise. BargraphItem brukes til å tegne en søylediagram med blå farge og en breddeverdi på 0.5.

# Import pyqtgraph -modulen
# Import pyqtgraph -modulen
Importer pyqtgraph som PG
# Import qtgui fra pyqtgraph -modulen
Fra Pyqtgraph.QT import qtgui
# Importer numpy bibliotek
Importer numpy som NP
# Generer x-aksen
x = np.Arange (0, 10)
# Generer y-aksen
y = np.Array ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Angi stolpediagrammer og børstefarge og bredde
BG = PG.BargraphItem (x = x, høyde = y, bredde = 0.5, børste = 'b')
# Definer plottvariabelen
PLT = PG.plott()
# Angi etiketten for x -aksen
plt.setLabel ('bunn', '

X-aksverdier

')
# Angi etiketten for y-aksen
plt.setlabel ('venstre', '

Y-aksverdier

')
# Angi stolpetittelen
plt.Settitle ('

Bargraf ved hjelp av pyqtgraph

')
# Legg til stolpelementer
plt.AddItem (BG)
# Hovedmetode
if __name__ == '__main__':
# Importer SYS -modul
Importer Sys
# Start QT Event Loop med mindre du kjører i interaktiv modus
Hvis sys.flagg.interaktiv != 1:
Qtgui.Qapplication.forekomst().exec_ ()

Produksjon:

Følgende stolpediagram blir dukket opp etter å ha utført skriptet ovenfor.

Konklusjon

Opprette tre forskjellige typer grafer med tilfeldige verdier, listeelementer og numpy matrise har vist i denne opplæringen ved å bruke tre enkle eksempler. Leserne vil kunne bruke PYQTgraph -modulen for å implementere linje- og stolpediagrammer etter å ha lest denne opplæringen.