Pytonorm

Hur man använder PyQtGraph?

Hur man använder PyQtGraph?

De vetenskapliga eller numeriska visualiseringsuppgifterna kan göras i python enkelt med hjälp av olika Python-bibliotek, t.ex Plotly, Matplotlib, Seaborn, ggplot, PyQt, etc. PyQtGraph är en användbar modul för PyQt bibliotek för att skapa en graf. Denna modul kan skapa diagram mycket snabbt. 2D- och 3D-grafik kan skapas med hjälp av denna modul. Hur man använder PyQtGraph modul för att rita olika typer av grafer har visat i denna handledning.

Förutsättningar

Du måste installera PyQtGraph-modulen i ditt system innan du skapar diagrammet. Kör följande kommando för att installera PyQtGraph med pip3.

$ sudo pip3 installera pyqtgraph

Rita linjediagram

Ett linjediagram eller linjediagram är ett diagram som visar information med hjälp av en serie dataplottar. PlotWidget widget används för att skapa alla plottar av PyQtGraph. Den här widgeten innehåller en duk där varje tomt kan läggas till eller tas bort.

Exempel 1: Rita ett enkelt linjediagram

Följande skript visar hur man ritar ett linjediagram med slumptal. räckvidd() -funktionen används för att generera tio sekvensnummer som används för x-axelvärden. De slumpmässig modul av python används för att generera 10 slumpmässiga heltal som används för y-axelvärden. komplott() metoden används för att rita varje diagram i linjediagrammet baserat på värdena på x-axeln och y-axeln. När koden körs i interaktivt läge, då sys.flaggor.interaktiv flagga kommer att vara Sann. Om flaggans värde inte är sant, indikerar det att Qt-händelsslingan inte behöver köras eftersom REPL (Run, Evaluate, Print, Loop) redan har en händelsesslinga.

# Importera slumpmässig modul
# Importera slumpmässig modul
importera slumpmässigt som rd
# Importera PyQtGraph-modul
importera pyqtgraph som sid
# Importera QtGui från PyQtGraph-modulen
från pyqtgraph.Qt importerar QtGui
# Generera x-axelvärden
x = intervall (0, 10)
# Generera y-axelvärden
y = []
för jag inom intervallet (0, 10):
n = rd.randint (0, 20)
y.bifoga (n)
# Initiera plottet
plt = sid.komplott()
# Ställ in etiketten för x-axeln
plt.setLabel ('bottom', 'Sequentially Generated Values')
# Ställ in etiketten för y-axeln
plt.setLabel ('left', 'Randomly Generated Values')
# Ställ in horisontellt intervall
plt.setXRange (0, 10)
# Ställ in vertikalt intervall
plt.setYRange (0, 20)
# Ställ in titeln på diagrammet
plt.setTitle ("Enkel linjediagram")
# Ställ in plotvärdena
linje = plt.tomt (x, y)
# Huvudmetod
om __name__ == '__main__':
# Importera sys-modul
importera sys
# Starta Qt-händelsesslinga om du inte kör i interaktivt läge
om sys.flaggor.interaktiv != 1:
QtGui.QApplication.exempel().exec ()

Produktion:

Följande liknande linjediagram kommer att visas efter att ovanstående skript har körts. Grafen varierar i varje utförande för slumpmässiga värden.

Exempel 2: Rita ett linjediagram med styling och markör

Följande skript visar hur man ritar ett stylistlinjediagram baserat på värdena i en pythonlista. mkPen () funktionen används för att ställa in färg och bredd på linjen. ''o'används som markör i diagrammet och markörens färg och bredd ställs in med symbolPen och symbol Storlek egenskaper.

# Importera PyQtGraph-modul
# Importera PyQtGraph-modul
importera pyqtgraph som sid
# Importera QtGui från PyQtGraph-modulen
från pyqtgraph.Qt importerar QtGui
# Generera x-axelvärden
x = intervall (0, 10)
# Generera y-axelvärden
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Initiera plot
plt = sid.komplott()
# Ställ in etiketten för x-axeln
plt.setLabel ('botten', 'X-axelvärden')
# Ställ in etiketten för y-axeln
plt.setLabel ('vänster', 'Y-axelvärden')
# Ställ in horisontellt intervall
plt.setXRange (0, 10)
# Ställ in vertikalt intervall
plt.setYRange (0, 20)
# Ställ in titeln på diagrammet
plt.setTitle ("Linjediagram med styling och markör")
# Ställ in bakgrundsfärgen
plt.setBackground ('d5ecf2')
# Ställ in plotvärdena med pennfärg och bredd
linje = plt.plot (x, y, penna = sid.mkPen ('r', bredd = 6), symbol = 'o', symbolPen = 'b', symbolSize = 20)
# Lägg till legend
plt.addLegend ()
# Visa rutnät
plt.showGrid (x = True, y = True)
# Huvudmetod
om __name__ == '__main__':
# Importera sys-modul
importera sys
# Starta Qt-händelsesslinga om du inte kör i interaktivt läge
om sys.flaggor.interaktiv != 1:
QtGui.QApplication.exempel().exec_ ()
# Huvudmetod
om __name__ == '__main__':
# Importera sys-modul
importera sys
# Starta Qt-händelsesslinga om du inte kör i interaktivt läge
om sys.flaggor.interaktiv != 1:
QtGui.QApplication.exempel().exec_ ()

Produktion:

Följande linjediagram kommer att visas efter att ovanstående skript har körts.

Rita stapeldiagram

En uppsättning data kan visualiseras med hjälp av ett stapeldiagram. Ett enkelt fält skapar genom att jämföra listan med data med ett relaterat dataområde. BarGraphItem klass används för att skapa stapeldiagrammet med hjälp av PyQtGraph.

Exempel 3: Rita ett stapeldiagram

Följande skript visar hur man ritar ett stapeldiagram baserat på värdena i en NumPy-array. BarGraphItem används för att rita ett stapeldiagram med blå färg och ett breddvärde på 0.5.

# Importera PyQtGraph-modulen
# Importera PyQtGraph-modulen
importera pyqtgraph som sid
# Importera QtGui från PyQtGraph-modulen
från pyqtgraph.Qt importerar QtGui
# Importera NumPy Library
importera numpy som np
# Skapa x-axel
x = np.arange (0, 10)
# Generera y-axeln
y = np.array ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Ställ in stapeldiagramvärden och penselfärg och bredd
bg = pg.BarGraphItem (x = x, höjd = y, bredd = 0.5, borste = 'b')
# Definiera plotvariabeln
plt = sid.komplott()
# Ställ in etiketten för x-axeln
plt.setLabel ('botten', '

X-axelvärden

')
# Ställ in etiketten för y-axeln
plt.setLabel ('vänster', '

Y-axelvärden

')
# Ställ in stapeltiteln
plt.setTitle ('

Stapeldiagram med PyQtGraph

')
# Lägg till stapeldiagramobjekt
plt.addItem (bg)
# Huvudmetod
om __name__ == '__main__':
# Importera sys-modul
importera sys
# Starta Qt-händelsesslinga om du inte kör i interaktivt läge
om sys.flaggor.interaktiv != 1:
QtGui.QApplication.exempel().exec_ ()

Produktion:

Följande stapeldiagram visas efter att ovanstående skript har körts.

Slutsats

Skapa tre olika typer av grafer med slumpmässiga värden, listobjekt och NumPy-array har visats i denna handledning med hjälp av tre enkla exempel. Läsarna kommer att kunna använda PyQtGraph-modulen för att implementera rad- och stapeldiagram efter att ha läst denna handledning.

De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...
Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...