Python

Hoe PyQtGraph te gebruiken?

Hoe PyQtGraph te gebruiken?

De wetenschappelijke of numerieke visualisatietaken kunnen eenvoudig in Python worden uitgevoerd met behulp van verschillende Python-bibliotheken, zoals: Plotly, Matplotlib, Seaborn, ggplot, PyQt, enz. PyQtGraph is een handige module van de PyQt bibliotheek om een ​​grafiek te maken. Deze module kan heel snel grafieken maken. Met deze module kunnen 2D- en 3D-graphics worden gemaakt. Hoe de te gebruiken PyQtGraph module om verschillende soorten grafieken te tekenen is getoond in deze tutorial.

Vereisten

U moet de PyQtGraph-module in uw systeem installeren voordat u de grafiek maakt. Voer de volgende opdracht uit om PyQtGraph te installeren met pip3ip.

$ sudo pip3 installeer pyqtgraph

Lijngrafiek tekenen

Een lijndiagram of lijndiagram is een diagram dat informatie weergeeft met behulp van een reeks gegevensplots. PlotWidget widget wordt gebruikt om alle plots van PyQtGraph te maken. Deze widget bevat een canvas waarop elke plot kan worden toegevoegd of verwijderd.

Voorbeeld-1: Teken een eenvoudige lijngrafiek

Het volgende script toont de manier om een ​​lijngrafiek te tekenen met behulp van willekeurige getallen. bereik() functie wordt gebruikt om 10 opeenvolgende getallen te genereren die worden gebruikt voor x-aswaarden. De willekeurig module van python wordt gebruikt om 10 willekeurige gehele getallen te genereren die worden gebruikt voor y-aswaarden. verhaal() methode wordt gebruikt om elke plot van de lijngrafiek te tekenen op basis van de waarden van de x-as en y-as. Wanneer de code in interactieve modus wordt uitgevoerd, dan: sys.vlaggen.interactief vlag zal zijn waar. Als de waarde van deze vlag niet True is, geeft dit aan dat de Qt-gebeurtenislus niet hoeft te worden uitgevoerd omdat de REPL (Run, Evaluate, Print, Loop) al een gebeurtenislus heeft.

# Import willekeurige module
# Import willekeurige module
willekeurig importeren als rd
# PyQtGraph-module importeren
importeer pyqtgraph als pg
# Importeer QtGui uit de PyQtGraph-module
van pyqtgraph.Qt import QtGui
# Genereer x-aswaarden
x = bereik (0, 10)
# Genereer y-aswaarden
j = [ ]
voor i binnen bereik (0, 10):
n = rd.randint(0, 20)
ja.toevoegen(n)
# Initialiseer de plot
plt = pg.verhaal()
# Stel het label in voor de x-as
plt.setLabel('bottom', 'Opeenvolgend gegenereerde waarden')
# Stel het label in voor de y-as
plt.setLabel('left', 'Willekeurig gegenereerde waarden')
# Horizontaal bereik instellen
plt.setXBereik(0, 10)
# Stel verticaal bereik in
plt.setYBereik(0, 20)
# Stel de titel van de grafiek in
plt.setTitle("Eenvoudige lijngrafiek")
# Stel de plotwaarden in
lijn = plt.plot(x, y)
# Hoofdmethode
if __name__ == '__main__':
# Systeemmodule importeren
import systeem
# Start Qt-gebeurtenislus tenzij in interactieve modus uitgevoerd
als sys.vlaggen.interactief != 1:
QtGui.QToepassing.voorbeeld().exec()

Uitgang::

De volgende gelijkaardige lijngrafiek zal verschijnen na het uitvoeren van het bovenstaande script. De grafiek zal in elke uitvoering variëren voor de willekeurige waarden.

Voorbeeld-2: Teken een lijngrafiek met stijl en markering

Het volgende script laat zien hoe u een stylist-lijngrafiek tekent op basis van de waarden van een pythonlijst. mkPen() functie wordt gebruikt om de kleur en breedte van de lijn in te stellen. 'O' wordt gebruikt als de markering in de grafiek, en de kleur en breedte van de markering worden ingesteld met symboolPen en symboolGrootte eigendommen.

# PyQtGraph-module importeren
# PyQtGraph-module importeren
importeer pyqtgraph als pg
# Importeer QtGui uit de PyQtGraph-module
van pyqtgraph.Qt import QtGui
# Genereer x-aswaarden
x = bereik (0, 10)
# Genereer y-aswaarden
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Initialiseer de plot
plt = pg.verhaal()
# Stel het label in voor de x-as
plt.setLabel('bottom', 'X-as Waarden')
# Stel het label in voor de y-as
plt.setLabel('left', 'Y-as Values')
# Horizontaal bereik instellen
plt.setXBereik(0, 10)
# Stel verticaal bereik in
plt.setYBereik(0, 20)
# Stel de titel van de grafiek in
plt.setTitle("Lijngrafiek met opmaak en markering")
# Stel de achtergrondkleur in
plt.setBackground('d5ecf2')
# Stel de plotwaarden in met penkleur en -breedte
lijn = plt.plot(x, y, pen=pg.mkPen('r', width=6), symbol='o', symbolPen='b', symbolSize=20)
# Legenda toevoegen
plt.addLegend()
# Toon rasters
plt.showGrid(x=Waar, y=Waar)
# Hoofdmethode
if __name__ == '__main__':
# Systeemmodule importeren
import systeem
# Start Qt-gebeurtenislus tenzij in interactieve modus uitgevoerd
als sys.vlaggen.interactief != 1:
QtGui.QToepassing.voorbeeld().exec_()
# Hoofdmethode
if __name__ == '__main__':
# Systeemmodule importeren
import systeem
# Start Qt-gebeurtenislus tenzij in interactieve modus uitgevoerd
als sys.vlaggen.interactief != 1:
QtGui.QToepassing.voorbeeld().exec_()

Uitgang::

De volgende lijngrafiek zal verschijnen na het uitvoeren van het bovenstaande script.

Staafdiagram tekenen

Een set gegevens kan worden gevisualiseerd met behulp van een staafdiagram. Er wordt een eenvoudige balk gemaakt door de lijst met gegevens te vergelijken met een gerelateerd gegevensbereik. BarGrafiekItem class wordt gebruikt om het staafdiagram te maken met behulp van PyQtGraph.

Voorbeeld-3: Teken een staafdiagram

Het volgende script laat zien hoe u een staafdiagram tekent op basis van de waarden van een NumPy-array. BarGrafiekItem wordt gebruikt om een ​​staafdiagram te tekenen met een blauwe kleur en een breedtewaarde van 0.5.

# Importeer PyQtGraph-module
# Importeer PyQtGraph-module
importeer pyqtgraph als pg
# Importeer QtGui uit de PyQtGraph-module
van pyqtgraph.Qt import QtGui
# NumPy-bibliotheek importeren
importeer numpy als np
# Genereer x-as
x = np.bereik(0, 10)
# Genereer y-as
y = np.reeks([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Stel staafdiagramwaarden en penseelkleur en -breedte in
bg = pg.BarGraphItem(x=x, hoogte=y, breedte=0.5, borstel = 'b')
# Definieer de plotvariabele
plt = pg.verhaal()
# Stel het label in voor de x-as
plt.setLabel('onder', '

X-as waarden

')
# Stel het label in voor de y-as
plt.setLabel('links', '

Y-as waarden

')
# Stel de balktitel in
plt.setTitle('

Staafdiagram met PyQtGraph

')
# Voeg de staafdiagramitems toe
plt.addItem(bg)
# Hoofdmethode
if __name__ == '__main__':
# Systeemmodule importeren
import systeem
# Start Qt-gebeurtenislus tenzij in interactieve modus uitgevoerd
als sys.vlaggen.interactief != 1:
QtGui.QToepassing.voorbeeld().exec_()

Uitgang::

Het volgende staafdiagram zal verschijnen na het uitvoeren van het bovenstaande script:.

Conclusie

Het maken van drie verschillende soorten grafieken met willekeurige waarden, lijstitems en NumPy-array is in deze zelfstudie aangetoond met behulp van drie eenvoudige voorbeelden. De lezers kunnen de PyQtGraph-module gebruiken voor het implementeren van lijn- en staafdiagrammen na het lezen van deze tutorial.

Shadow of the Tomb Raider voor Linux-zelfstudie
Shadow of the Tomb Raider is de twaalfde toevoeging aan de Tomb Raider-serie - een actie-avonturengame-franchise gemaakt door Eidos Montreal. De game ...
Hoe FPS te verhogen in Linux?
FPS staat voor Beelden per seconde. De taak van FPS is om de framesnelheid te meten bij het afspelen van video's of speluitvoeringen. In eenvoudige wo...
Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...