Python

Sådan bruges PyQtGraph?

Sådan bruges PyQtGraph?

De videnskabelige eller numeriske visualiseringsopgaver kan udføres i python let ved hjælp af forskellige Python-biblioteker, såsom Plotly, Matplotlib, Seaborn, ggplot, PyQt, etc. PyQtGraph er et nyttigt modul til PyQt bibliotek for at oprette en graf. Dette modul kan oprette grafer meget hurtigt. 2D- og 3D-grafik kan oprettes ved hjælp af dette modul. Sådan bruges PyQtGraph modul til at tegne forskellige typer grafer har vist i denne vejledning.

Forudsætninger

Du skal installere PyQtGraph-modulet i dit system, før du opretter grafen. Kør følgende kommando for at installere PyQtGraph ved hjælp af pip3.

$ sudo pip3 installer pyqtgraph

Tegn streggraf

Et linjediagram eller en linjediagram er et diagram, der viser oplysninger ved hjælp af en række dataplots. PlotWidget widget bruges til at oprette alle plot af PyQtGraph. Denne widget indeholder et lærred, hvor ethvert plot kan tilføjes eller fjernes.

Eksempel 1: Tegn en simpel linjegraf

Det følgende script viser, hvordan man tegner en linjegraf ved hjælp af tilfældige tal. rækkevidde() funktion bruges til at generere 10 sekventielle tal, der bruges til x-akse værdier. Det tilfældig modul af python bruges til at generere 10 tilfældige heltal, der bruges til værdier på y-aksen. grund() metoden bruges til at tegne hvert plot af linjegrafen baseret på værdierne på x-aksen og y-aksen. Når koden udføres i interaktiv tilstand, derefter sys.flag.interaktiv flag vil være Rigtigt. Hvis dette flags værdi ikke er sand, angiver det, at Qt-hændelsessløjfen ikke skal køres, fordi REPL (Kør, Evaluer, Udskriv, Loop) allerede har en hændelsesløkke.

# Importer tilfældigt modul
# Importer tilfældigt modul
import tilfældigt som rd
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulet
fra pyqtgraph.Qt import QtGui
# Generer x-akse værdier
x = rækkevidde (0, 10)
# Generer værdier på y-aksen
y = []
for jeg inden for rækkevidde (0, 10):
n = rd.randint (0, 20)
y.tilføje (n)
# Initialiser plottet
plt = pg.grund()
# Indstil etiketten til x-aksen
plt.setLabel ('bund', 'Sekventielt genererede værdier')
# Indstil etiketten til y-aksen
plt.setLabel ('venstre', 'tilfældigt genererede værdier')
# Indstil vandret rækkevidde
plt.setXRange (0, 10)
# Indstil lodret rækkevidde
plt.setYRange (0, 20)
# Indstil titlen på grafen
plt.setTitle ("Simple Line Graph")
# Indstil plotværdierne
linje = plt.plot (x, y)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt-hændelsesløkke, medmindre du kører i interaktiv tilstand
hvis sys.flag.interaktiv != 1:
QtGui.QApplikation.forekomst ().udføre ()

Produktion:

Følgende lignende linjediagram vises efter udførelse af ovenstående script. Grafen vil variere i hver udførelse for tilfældige værdier.

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

Det følgende script viser, hvordan man tegner en stylistlinjegraf baseret på værdierne på en pythonliste. mkPen () funktion bruges til at indstille farve og bredde på linjen. ''o'bruges som markør i grafen, og markørens farve og bredde indstilles ved hjælp af symbol Pen og symbol Størrelse ejendomme.

# Importer PyQtGraph-modul
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulet
fra pyqtgraph.Qt import QtGui
# Generer x-akse værdier
x = rækkevidde (0, 10)
# Generer værdier på y-aksen
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Initialiser plottet
plt = pg.grund()
# Indstil etiketten til x-aksen
plt.setLabel ('bund', 'X-akse værdier')
# Indstil etiketten til y-aksen
plt.setLabel ('venstre', 'Y-akse værdier')
# Indstil vandret rækkevidde
plt.setXRange (0, 10)
# Indstil lodret rækkevidde
plt.setYRange (0, 20)
# Indstil titlen på grafen
plt.setTitle ("Linjegraf med styling og markør")
# Indstil baggrundsfarven
plt.setBackground ('d5ecf2')
# Indstil plotværdierne med penfarve og bredde
linje = plt.plot (x, y, pen = pg.mkPen ('r', bredde = 6), symbol = 'o', symbolPen = 'b', symbolSize = 20)
# Tilføj forklaring
plt.addLegend ()
# Vis gitre
plt.showGrid (x = Sand, y = Sand)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt-hændelsesløkke, medmindre du kører i interaktiv tilstand
hvis sys.flag.interaktiv != 1:
QtGui.QApplikation.forekomst ().exec_ ()
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt-hændelsesløkke, medmindre du kører i interaktiv tilstand
hvis sys.flag.interaktiv != 1:
QtGui.QApplikation.forekomst ().exec_ ()

Produktion:

Følgende linjediagram vises efter udførelse af ovenstående script.

Tegn søjlediagram

Et sæt data kan visualiseres ved hjælp af et søjlediagram. En simpel bjælke oprettes ved at sammenligne listen med data med et relateret dataområde. BarGraphItem klasse bruges til at oprette søjlediagram ved hjælp af PyQtGraph.

Eksempel 3: Tegn et søjlediagram

Det følgende script viser, hvordan man tegner et søjlediagram baseret på værdierne i et NumPy-array. BarGraphItem bruges til at tegne et søjlediagram med blå farve og en bredde på 0.5.

# Importer PyQtGraph-modul
# Importer PyQtGraph-modul
importer pyqtgraph som s
# Importer QtGui fra PyQtGraph-modulet
fra pyqtgraph.Qt import QtGui
# Importer NumPy-bibliotek
importer numpy som np
# Generer x-akse
x = np.arange (0, 10)
# Generer y-aksen
y = np.array ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Indstil værdier for søjlediagram og penselfarve og bredde
bg = pg.BarGraphItem (x = x, højde = y, bredde = 0.5, pensel = 'b')
# Definer plotvariablen
plt = pg.grund()
# Indstil etiketten til x-aksen
plt.setLabel ('bund', '

X-akse værdier

')
# Indstil etiketten til y-aksen
plt.setLabel ('venstre', '

Y-akse værdier

')
# Indstil linjens titel
plt.setTitle ('

Søjlediagram ved hjælp af PyQtGraph

')
# Tilføj søjlediagrammer
plt.addItem (bg)
# Hovedmetode
hvis __name__ == '__main__':
# Importer sys-modul
importer sys
# Start Qt-hændelsesløkke, medmindre du kører i interaktiv tilstand
hvis sys.flag.interaktiv != 1:
QtGui.QApplikation.forekomst ().exec_ ()

Produktion:

Følgende søjlediagram vises efter udførelse af ovenstående script.

Konklusion

Oprettelse af tre forskellige typer grafer med tilfældige værdier, listeelementer og NumPy-matrix har vist i denne vejledning ved hjælp af tre enkle eksempler. Læserne vil være i stand til at bruge PyQtGraph-modulet til implementering af linje- og søjlediagrammer efter at have læst denne vejledning.

Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...
5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...