Mokslines ar skaitines vizualizacijos užduotis galima atlikti python'e lengvai naudojant įvairias Python bibliotekas, pvz Plotly, Matplotlib, Seaborn, ggplot, PyQt, ir pan. PyQtGraph yra naudingas modulis PyQt biblioteka sukurti diagramą. Šis modulis gali labai greitai sukurti diagramas. 2D ir 3D grafika gali būti sukurta naudojant šį modulį. Kaip naudotis PyQtGraph modulis, skirtas piešti skirtingų tipų grafikus, parodytas šioje pamokoje.
Būtinos sąlygos
Prieš kurdami diagramą turite įdiegti PyQtGraph modulį savo sistemoje. Paleiskite šią komandą, kad įdiegtumėte PyQtGraph naudodami pip3.
$ sudo pip3 įdiekite pyqtgraphLygiosios linijos grafikas
Linijinė diagrama arba linijinė diagrama yra diagrama, kurioje pateikiama informacija naudojant duomenų diagramų seriją. „PlotWidget“ valdiklis naudojamas visiems PyQtGraph sklypams kurti. Šiame valdiklyje yra drobė, ant kurios galima pridėti ar pašalinti bet kurį siužetą.
1 pavyzdys: nubrėžkite paprastą linijų diagramą
Šis scenarijus parodo būdą, kaip nubrėžti linijinę diagramą naudojant atsitiktinius skaičius. diapazonas() funkcija naudojama generuoti 10 nuoseklių skaičių, kurie naudojami x ašies reikšmėms. The atsitiktinis python modulis naudojamas generuoti 10 atsitiktinių sveikųjų skaičių, naudojamų y ašies reikšmėms. sklypas () metodas naudojamas kiekvienam linijinio grafiko brėžiniui nubrėžti, remiantis x ir y ašių vertėmis. Kai kodas vykdomas interaktyviuoju režimu, tada sys.vėliavos.interaktyvus vėliava bus Tiesa. Jei šios žymos reikšmė nėra teisinga, tai rodo, kad Qt įvykių kilpos nereikia vykdyti, nes REPL (Run, Evaluate, Print, Loop) jau turi įvykių kilpą.
# Importuoti atsitiktinį modulį# Importuoti atsitiktinį modulį
importuoti atsitiktinai kaip rd
# Importuokite „PyQtGraph“ modulį
importuoti pyqtgraph kaip pg
# Importuokite „QtGui“ iš „PyQtGraph“ modulio
iš pyqtgraph.Qt importuoti QtGui
# Generuoti x ašies reikšmes
x = diapazonas (0, 10)
# Generuoti y ašies reikšmes
y = []
i diapazone (0, 10):
n = rd.randintas (0, 20)
y.pridėti (n)
# Inicijuokite siužetą
plt = pg.sklypas ()
# Nustatykite x ašies etiketę
plt.setLabel („apačioje“, „Nuosekliai generuojamos vertės“)
# Nustatykite y ašies etiketę
plt.setLabel („kairė“, „Atsitiktinai sugeneruotos vertės“)
# Nustatykite horizontalų diapazoną
plt.„setXRange“ (0, 10)
# Nustatykite vertikalų diapazoną
plt.setYRange (0, 20)
# Nustatykite diagramos pavadinimą
plt.„setTitle“ („Paprastas linijinis grafikas“)
# Nustatykite diagramos vertes
eilutė = plt.siužetas (x, y)
# Pagrindinis metodas
jei __pavadinimas = = '__main__':
# Importuoti sys modulį
importuoti sistemas
# Pradėkite Qt įvykių ciklą, nebent jis veiks interaktyviuoju režimu
jei sys.vėliavos.interaktyvus != 1:
QtGui.QPrograma.instancija().exec ()
Rezultatas:
Ši panaši linijų diagrama bus rodoma atlikus pirmiau pateiktą scenarijų. Kiekvieno atsitiktinių verčių vykdymo grafikas skirsis.
2 pavyzdys: nubrėžkite linijinę diagramą su stiliumi ir žymekliu
Šis scenarijus parodo, kaip nubrėžti stilistinės linijos diagramą pagal pitonų sąrašo reikšmes. „mkPen“ () funkcija naudojama linijos spalvai ir plotiui nustatyti. "o'naudojamas kaip žymeklis diagramoje, o žymeklio spalva ir plotis nustatomi naudojant simbolisPen ir simbolisSize savybes.
# Importuokite „PyQtGraph“ modulį# Importuokite „PyQtGraph“ modulį
importuoti pyqtgraph kaip pg
# Importuokite „QtGui“ iš „PyQtGraph“ modulio
iš pyqtgraph.Qt importuoti QtGui
# Generuoti x ašies reikšmes
x = diapazonas (0, 10)
# Generuoti y ašies reikšmes
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Inicijuokite siužetą
plt = pg.sklypas ()
# Nustatykite x ašies etiketę
plt.„setLabel“ („apatinė“, „X ašies vertės“)
# Nustatykite y ašies etiketę
plt.„setLabel“ („kairė“, „Y ašies vertės“)
# Nustatykite horizontalų diapazoną
plt.„setXRange“ (0, 10)
# Nustatykite vertikalų diapazoną
plt.setYRange (0, 20)
# Nustatykite diagramos pavadinimą
plt.setTitle („Linijinė diagrama su stiliumi ir žymekliu“)
# Nustatykite fono spalvą
plt.„setBackground“ („d5ecf2“)
# Nustatykite diagramos vertes naudodami rašiklio spalvą ir plotį
eilutė = plt.siužetas (x, y, rašiklis = p.mkPen ('r', plotis = 6), simbolis = 'o', simbolisPen = 'b', simbolisSize = 20)
# Pridėti legendą
plt.addLegend ()
# Rodyti tinklelius
plt.showGrid (x = tiesa, y = tiesa)
# Pagrindinis metodas
jei __pavadinimas = = '__main__':
# Importuoti sys modulį
importuoti sistemas
# Pradėkite Qt įvykių ciklą, nebent jis veiks interaktyviuoju režimu
jei sys.vėliavos.interaktyvus != 1:
QtGui.QPrograma.instancija().exec_ ()
# Pagrindinis metodas
jei __pavadinimas = = '__main__':
# Importuoti sys modulį
importuoti sistemas
# Pradėkite Qt įvykių ciklą, nebent jis veiks interaktyviuoju režimu
jei sys.vėliavos.interaktyvus != 1:
QtGui.QPrograma.instancija().exec_ ()
Rezultatas:
Ši eilutės diagrama bus rodoma atlikus pirmiau pateiktą scenarijų.
Lygiosios juostos diagrama
Duomenų rinkinį galima vizualizuoti naudojant juostinę diagramą. Paprasta juosta sukuriama lyginant duomenų sąrašą su susijusiu duomenų diapazonu. „BarGraphItem“ klasė naudojama sukurti juostų diagramą naudojant PyQtGraph.
3 pavyzdys: nubrėžkite juostinę diagramą
Šiame scenarijuje parodyta, kaip parengti juostos diagramą, remiantis „NumPy“ masyvo reikšmėmis. „BarGraphItem“ naudojama brėžti mėlynos spalvos juostos diagramą, kurios pločio vertė yra 0.5.
# Importuokite „PyQtGraph“ modulį# Importuokite „PyQtGraph“ modulį
importuoti pyqtgraph kaip pg
# Importuokite „QtGui“ iš „PyQtGraph“ modulio
iš pyqtgraph.Qt importuoti QtGui
# Importuoti „NumPy“ biblioteką
importuoti numerį kaip np
# Generuoti x ašį
x = np.apelsinas (0, 10)
# Generuoti y ašį
y = np.masyvas ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Nustatykite juostų diagramos vertes ir šepetėlio spalvą bei plotį
bg = pg.„BarGraphItem“ (x = x, aukštis = y, plotis = 0.5, teptukas = 'b')
# Apibrėžkite sklypo kintamąjį
plt = pg.sklypas ()
# Nustatykite x ašies etiketę
plt.setLabel ('apačia', '
X ašies vertės
„)# Nustatykite y ašies etiketę
plt.setLabel ('kairė', '
Y ašies vertės
„)# Nustatykite juostos pavadinimą
plt.setTitle ('
Juostinė diagrama naudojant PyQtGraph
„)# Pridėti juostų diagramos elementus
plt.addItem (bg)
# Pagrindinis metodas
jei __pavadinimas = = '__main__':
# Importuoti sys modulį
importuoti sistemas
# Pradėkite Qt įvykių ciklą, nebent jis veiks interaktyviuoju režimu
jei sys.vėliavos.interaktyvus != 1:
QtGui.QPrograma.instancija().exec_ ()
Rezultatas:
Ši juostinė diagrama bus rodoma atlikus minėtą scenarijų.
Išvada
Šiame pamokoje parodyta trijų skirtingų tipų grafikų su atsitiktinėmis reikšmėmis, sąrašo elementų ir „NumPy“ masyvo kūrimas naudojant tris paprastus pavyzdžius. Skaitydami šią pamoką, skaitytojai galės naudoti „PyQtGraph“ modulį įgyvendindami linijų ir juostų diagramas.