Piton

Kako koristiti PyQtGraph?

Kako koristiti PyQtGraph?

Zadaci znanstvene ili numeričke vizualizacije mogu se obavljati u pythonu lako koristeći razne Python knjižnice, kao što su Plotly, Matplotlib, Seaborn, ggplot, PyQt, itd. PyQtGraph je koristan modul PyQt knjižnica za stvaranje grafa. Ovaj modul može vrlo brzo stvoriti grafikone. Pomoću ovog modula mogu se stvoriti 2D i 3D grafike. Kako se koristi PyQtGraph modul za crtanje različitih vrsta grafova prikazan je u ovom vodiču.

Preduvjeti

Morate instalirati modul PyQtGraph u vaš sustav prije stvaranja grafikona. Pokrenite sljedeću naredbu da biste instalirali PyQtGraph pomoću pip3.

$ sudo pip3 instaliraj pyqtgraph

Crtanje linijskog grafikona

Linijski grafikon ili linijski graf je grafikon koji prikazuje informacije pomoću niza grafikona podataka. PlotWidget widget koristi se za stvaranje svih ploha PyQtGraph-a. Ovaj widget sadrži platno na kojem se bilo koja radnja može dodati ili ukloniti.

Primjer-1: Nacrtajte jednostavan linijski grafikon

Sljedeća skripta prikazuje način crtanja linijskog grafikona pomoću slučajnih brojeva. raspon () funkcija se koristi za generiranje 10 sekvencijalnih brojeva koji se koriste za vrijednosti x osi. The slučajno modul pythona koristi se za generiranje 10 slučajnih cjelobrojnih brojeva koji se koriste za vrijednosti osi y. zemljište() metoda koristi se za crtanje svake crteža linijskog grafikona na temelju vrijednosti x osi i osi y. Kada se kôd izvrši u interaktivnom načinu, tada sys.zastave.interaktivni zastava će biti Pravi. Ako vrijednost ove zastavice nije True, tada to znači da petlja Qt događaja ne treba pokretati jer REPL (Run, Evaluate, Print, Loop) već ima petlju događaja.

# Uvezi slučajni modul
# Uvezi slučajni modul
slučajni uvoz kao rd
# Uvoz PyQtGraph modula
uvezi pyqtgraph kao str
# Uvezite QtGui iz modula PyQtGraph
iz pyqtgraph-a.Qt uvoz QtGui
# Generirajte vrijednosti x osi
x = raspon (0, 10)
# Generirajte vrijednosti osi y
y = []
za i u rasponu (0, 10):
n = rd.randint (0, 20)
g.dodati (n)
# Inicijalizirajte radnju
plt = pg.zemljište()
# Postavite oznaku za os x
plt.setLabel ('dno', 'Sekvencijalno generirane vrijednosti')
# Postavite oznaku za os y
plt.setLabel ('lijevo', 'Nasumično generirane vrijednosti')
# Postavite vodoravni raspon
plt.setXRange (0, 10)
# Postavite okomiti raspon
plt.setYRange (0, 20)
# Postavite naslov grafikona
plt.setTitle ("Jednostavan linijski grafikon")
# Postavite vrijednosti grafikona
linija = plt.parcela (x, y)
# Glavna metoda
ako je __name__ == '__glavno__':
# Uvoz sys modula
import sys
# Pokreni petlju Qt događaja, osim ako se ne izvodi u interaktivnom načinu
ako sys.zastave.interaktivni != 1:
QtGui.QAplikacija.primjer().izvršiti ()

Izlaz:

Sljedeći slični linijski grafikon pojavit će se nakon izvršavanja gornje skripte. Grafikon će se razlikovati u svakom izvršenju slučajnih vrijednosti.

Primjer-2: Nacrtajte linijski graf stilom i markerom

Sljedeća skripta pokazuje kako nacrtati linijski grafikon stilista na temelju vrijednosti popisa python. mkPen () funkcija se koristi za postavljanje boje i širine crte. 'o'koristi se kao marker na grafikonu, a boja i širina markera postavljaju se pomoću symbolPen i symbolSize Svojstva.

# Uvoz PyQtGraph modula
# Uvoz PyQtGraph modula
uvezi pyqtgraph kao str
# Uvezite QtGui iz modula PyQtGraph
iz pyqtgraph-a.Qt uvoz QtGui
# Generirajte vrijednosti x osi
x = raspon (0, 10)
# Generirajte vrijednosti osi y
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Inicijalizirajte radnju
plt = pg.zemljište()
# Postavite oznaku za os x
plt.setLabel ('dno', 'Vrijednosti osi X')
# Postavite oznaku za os y
plt.setLabel ('lijevo', 'Vrijednosti osi Y')
# Postavite vodoravni raspon
plt.setXRange (0, 10)
# Postavite okomiti raspon
plt.setYRange (0, 20)
# Postavite naslov grafikona
plt.setTitle ("Linijski grafikon sa stilom i markerom")
# Postavite boju pozadine
plt.setBackground ('d5ecf2')
# Postavite vrijednosti grafikona bojom i širinom olovke
linija = plt.zaplet (x, y, olovka = str.mkPen ('r', width = 6), symbol = 'o', symbolPen = 'b', symbolSize = 20)
# Dodaj legendu
plt.addLegend ()
# Prikaži rešetke
plt.showGrid (x = True, y = True)
# Glavna metoda
ako je __name__ == '__glavno__':
# Uvoz sys modula
import sys
# Pokreni petlju Qt događaja, osim ako se ne izvodi u interaktivnom načinu
ako sys.zastave.interaktivni != 1:
QtGui.QAplikacija.primjer().exec_ ()
# Glavna metoda
ako je __name__ == '__glavno__':
# Uvoz sys modula
import sys
# Pokreni petlju Qt događaja, osim ako se ne izvodi u interaktivnom načinu
ako sys.zastave.interaktivni != 1:
QtGui.QAplikacija.primjer().exec_ ()

Izlaz:

Sljedeći linijski grafikon pojavit će se nakon izvršavanja gornje skripte.

Nacrtaj trakasti grafikon

Skup podataka može se vizualizirati pomoću stupčastog grafikona. Jednostavna traka stvara se usporedbom popisa podataka s povezanim rasponom podataka. BarGraphItem klasa koristi se za izradu stupčastog grafikona pomoću PyQtGraph.

Primjer-3: Nacrtajte trakasti grafikon

Sljedeća skripta pokazuje kako crtati trakasti grafikon na temelju vrijednosti NumPy polja. BarGraphItem koristi se za crtanje trakasti grafikona plave boje i vrijednosti širine 0.5.

# Uvoz modula PyQtGraph
# Uvoz modula PyQtGraph
uvezi pyqtgraph kao str
# Uvezite QtGui iz modula PyQtGraph
iz pyqtgraph-a.Qt uvoz QtGui
# Uvezi NumPy knjižnicu
uvoz numpy kao np
# Generiraj x-os
x = np.rasporedi (0, 10)
# Generiraj y-os
y = np.niz ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Postavite vrijednosti trakasti grafikona te boju i širinu četke
bg = pg.BarGraphItem (x = x, visina = y, širina = 0.5, četka = 'b')
# Definirajte varijablu grafikona
plt = pg.zemljište()
# Postavite oznaku za os x
plt.setLabel ('dno', '

Vrijednosti osi X

')
# Postavite oznaku za os y
plt.setLabel ('lijevo', '

Vrijednosti Y osi

')
# Postavite naslov trake
plt.setTitle ('

Trakasti grafikon koristeći PyQtGraph

')
# Dodajte stavke trakasti grafikona
plt.addItem (bg)
# Glavna metoda
ako je __name__ == '__glavno__':
# Uvoz sys modula
import sys
# Pokreni petlju Qt događaja, osim ako se ne izvodi u interaktivnom načinu
ako sys.zastave.interaktivni != 1:
QtGui.QAplikacija.primjer().exec_ ()

Izlaz:

Sljedeći trakasti grafikon pojavit će se nakon izvršavanja gornje skripte.

Zaključak

Stvaranje tri različite vrste grafova sa slučajnim vrijednostima, stavkama popisa i nizom NumPy prikazani su u ovom vodiču pomoću tri jednostavna primjera. Čitatelji će moći koristiti PyQtGraph modul za implementaciju linijskih i trakastih grafova nakon čitanja ovog vodiča.

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...