Python

Hvordan bruke PyQtGraph?

Hvordan bruke PyQtGraph?

De vitenskapelige eller numeriske visualiseringsoppgavene kan gjøres i python enkelt ved hjelp av 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 hjelp av 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 linjediagram

Et linjediagram eller linjediagram er et diagram som viser informasjon ved hjelp av en serie dataplaner. PlotWidget widget brukes til å lage alle plott av PyQtGraph. Denne widgeten inneholder et lerret hvor et tomt kan legges til eller fjernes.

Eksempel 1: Tegn et enkelt linjediagram

Følgende skript viser hvordan du tegner et linjediagram ved hjelp av tilfeldige tall. område() funksjonen brukes til å generere 10 sekvensielle tall som brukes til x-akseverdier. De tilfeldig modul av python brukes til å generere 10 tilfeldige heltall som brukes til y-akseverdier. plott() metoden brukes til å tegne hvert plott av linjediagrammet basert på verdiene til x-aksen og y-aksen. Når koden kjøres i interaktiv modus, da sys.flagg.interaktiv flagg vil være ekte. Hvis verdien for dette flagget ikke er sant, indikerer det at Qt-hendelsessløyfen ikke trenger å kjøre fordi REPL (Run, Evaluate, Print, Loop) allerede har en event loop.

# Importer tilfeldig modul
# Importer tilfeldig modul
importer tilfeldig som rd
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulen
fra pyqtgraph.Qt importerer QtGui
# Generer x-akseverdier
x = rekkevidde (0, 10)
# Generer verdiene på y-aksen
y = []
for jeg innen rekkevidde (0, 10):
n = rd.randint (0, 20)
y.legge til (n)
# Initialiser plottet
plt = pg.plott()
# Sett etiketten for x-aksen
plt.setLabel ('bottom', 'Sequentially Generated Values')
# Sett etiketten for y-aksen
plt.setLabel ('left', 'Randomly Generated Values')
# Still inn horisontalt område
plt.setXRange (0, 10)
# Still inn vertikalt område
plt.setYRange (0, 20)
# Sett tittelen på grafen
plt.setTitle ("Enkel linjediagram")
# Still inn plotverdiene
linje = plt.tomt (x, y)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt hendelsessløyfe med mindre du kjører i interaktiv modus
hvis sys.flagg.interaktiv != 1:
QtGui.QApplication.forekomst().utføre ()

Produksjon:

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

Eksempel 2: Tegn et linjediagram med styling og markør

Følgende skript viser hvordan du tegner et linjediagram for stylister basert på verdiene til en pythonliste. mkPen () funksjonen brukes til å stille inn farge og bredde på linjen. 'o'brukes som markør i grafen, og fargen og bredden på markøren blir angitt ved hjelp av symbol Pen og symbol Størrelse eiendommer.

# Importer PyQtGraph-modul
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulen
fra pyqtgraph.Qt importerer QtGui
# Generer x-akseverdier
x = rekkevidde (0, 10)
# Generer verdiene på y-aksen
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Initialiser plottet
plt = pg.plott()
# Sett etiketten for x-aksen
plt.setLabel ('bottom', 'X-axis Values')
# Sett etiketten for y-aksen
plt.setLabel ('venstre', 'Y-akseverdier')
# Still inn horisontalt område
plt.setXRange (0, 10)
# Still inn vertikalt område
plt.setYRange (0, 20)
# Sett tittelen på grafen
plt.setTitle ("Linjediagram med styling og markør")
# Still bakgrunnsfargen
plt.setBackground ('d5ecf2')
# Sett plotverdiene med pennefarge og bredde
linje = plt.plot (x, y, penn = pg.mkPen ('r', bredde = 6), symbol = 'o', symbolPen = 'b', symbolSize = 20)
# Legg til forklaring
plt.legg til Legend ()
# Vis rutenett
plt.showGrid (x = True, y = True)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt hendelsessløyfe med mindre du kjører i interaktiv modus
hvis sys.flagg.interaktiv != 1:
QtGui.QApplication.forekomst().exec_ ()
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt hendelsessløyfe med mindre du kjører i interaktiv modus
hvis sys.flagg.interaktiv != 1:
QtGui.QApplication.forekomst().exec_ ()

Produksjon:

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

Tegn stolpediagram

Et datasett kan visualiseres ved hjelp av et søylediagram. En enkel linje oppretter ved å sammenligne listen over data med et beslektet datautvalg. BarGraphItem klasse brukes til å lage søylediagrammet ved hjelp av PyQtGraph.

Eksempel 3: Tegn et søylediagram

Følgende skript viser hvordan du tegner et søylediagram basert på verdiene til en NumPy-matrise. BarGraphItem brukes til å tegne et søylediagram med blå farge og en breddeverdi på 0.5.

# Importer PyQtGraph-modul
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulen
fra pyqtgraph.Qt importerer QtGui
# Importer NumPy Library
importer nummen 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])
# Sett stolpediagramverdier og penselfarge og bredde
bg = pg.BarGraphItem (x = x, høyde = y, bredde = 0.5, pensel = 'b')
# Definer plottvariabelen
plt = pg.plott()
# Sett etiketten for x-aksen
plt.setLabel ('nederst', '

X-akseverdier

')
# Sett etiketten for y-aksen
plt.setLabel ('venstre', '

Y-akse Verdier

')
# Sett linjetittelen
plt.setTitle ('

Søylediagram ved bruk av PyQtGraph

')
# Legg til stolpediagramelementene
plt.addItem (bg)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt hendelsessløyfe med mindre du kjører i interaktiv modus
hvis sys.flagg.interaktiv != 1:
QtGui.QApplication.forekomst().exec_ ()

Produksjon:

Følgende søylediagram vises når du har utført skriptet ovenfor.

Konklusjon

Å lage tre forskjellige typer grafer med tilfeldige verdier, listeelementer og NumPy-matrise har vist i denne veiledningen ved hjelp av tre enkle eksempler. Leserne vil kunne bruke PyQtGraph-modulen til å implementere linje- og søylediagrammer etter å ha lest denne opplæringen.

OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...
Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...