Cómo usar pyqtgraph?

Cómo usar pyqtgraph?

Las tareas de visualización científica o numérica se pueden realizar en Python fácilmente utilizando varias bibliotecas de Python, como Plotly, Matplotlib, Seaborn, GGPlot, Pyqt, etc. Pyqtgraph es un módulo útil del Pyqt Biblioteca para crear un gráfico. Este módulo puede crear gráficos muy rápido. Se pueden crear gráficos 2D y 3D utilizando este módulo. Cómo usar el Pyqtgraph El módulo para dibujar diferentes tipos de gráficos ha mostrado en este tutorial.

Requisitos previos

Debe instalar el módulo pyqtgraph en su sistema antes de crear el gráfico. Ejecute el siguiente comando para instalar pyqtgraph usando PIP3.

$ sudo pip3 instalar pyqtgraph

Dibujar gráfico de línea

Un gráfico de línea o gráfico de línea es un gráfico que muestra información utilizando una serie de gráficos de datos. Platwidget El widget se usa para crear todas las gráficas de pyqtgraph. Este widget contiene un lienzo en el que se puede agregar o eliminar cualquier gráfico.

Ejemplo-1: dibuja un gráfico de línea simple

El siguiente script muestra la forma de dibujar un gráfico de línea usando números aleatorios. rango() La función se usa para generar 10 números secuenciales que se utilizan para los valores del eje X. El aleatorio El módulo de Python se usa para generar 10 números enteros aleatorios utilizados para los valores del eje Y. trama() El método se utiliza para dibujar cada gráfico del gráfico de línea basado en los valores del eje x y el eje Y. Cuando el código se ejecuta en modo interactivo, entonces sys.banderas.interactivo la bandera será Verdadero. Si el valor de esta bandera no es verdadero, indica que el bucle de evento QT no requiere ejecutarse porque el repl (ejecutar, evaluar, imprimir, bucle) ya tiene un bucle de eventos.

# Importar módulo aleatorio
# Importar módulo aleatorio
Importar al azar como RD
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui desde el módulo pyqtgraph
de pyqtgraph.Qt import Qtgui
# Generar valores del eje X
x = rango (0, 10)
# Generar valores del eje Y
y = []
para i en el rango (0, 10):
N = RD.Randint (0, 20)
Y.agregar (n)
# Inicializar la trama
PLT = PG.trama()
# Establezca la etiqueta para el eje x
PLT.SetLabel ('Bottom', 'Valores generados secuencialmente')
# Establezca la etiqueta para el eje y
PLT.setLabel ('izquierda', 'valores generados aleatoriamente')
# Establecer el rango horizontal
PLT.setxRange (0, 10)
# Establecer el rango vertical
PLT.SetyRange (0, 20)
# Establecer el título del gráfico
PLT.settitle ("gráfico de línea simple")
# Establecer los valores de la trama
Línea = PLT.Parcela (x, y)
# Método principal
Si __name__ == '__main__':
# Módulo de importación SYS
Sys de importación
# Inicie el bucle de eventos QT a menos que se ejecute en modo interactivo
Si sys.banderas.interactivo != 1:
Qtgui.Qaplication.instancia().exec ()

Producción:

Aparecerá el siguiente gráfico de línea similar después de ejecutar el script anterior. El gráfico variará en cada ejecución para los valores aleatorios.

Ejemplo-2: dibuja un gráfico de línea con estilo y marcador

El siguiente script muestra cómo dibujar un gráfico de línea estilista basado en los valores de una lista de Python. mkpen () la función se usa para establecer el color y el ancho de la línea. 'O'se usa como marcador en el gráfico, y el color y el ancho del marcador se establecen utilizando symbolpen y simbolizar propiedades.

# Importar módulo pyqtgraph
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui desde el módulo pyqtgraph
de pyqtgraph.Qt import Qtgui
# Generar valores del eje X
x = rango (0, 10)
# Generar valores del eje Y
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Inicializar la trama
PLT = PG.trama()
# Establezca la etiqueta para el eje x
PLT.SetLabel ('Bottom', 'Valores de eje x')
# Establezca la etiqueta para el eje y
PLT.SetLabel ('Left', 'Valores de eje y')
# Establecer el rango horizontal
PLT.setxRange (0, 10)
# Establecer el rango vertical
PLT.SetyRange (0, 20)
# Establecer el título del gráfico
PLT.Settitle ("Gráfico de línea con estilo y marcador")
# Establecer el color de fondo
PLT.Setbackground ('D5ECF2')
# Establezca los valores de la trama con color y ancho de la pluma
Línea = PLT.Plot (X, Y, Pen = PG.mkpen ('r', ancho = 6), símbolo = 'O', SymbolPen = 'B', SymbolSize = 20)
# Agregar leyenda
PLT.addlegend ()
# Mostrar cuadrículas
PLT.showGrid (x = verdadero, y = verdadero)
# Método principal
Si __name__ == '__main__':
# Módulo de importación SYS
Sys de importación
# Inicie el bucle de eventos QT a menos que se ejecute en modo interactivo
Si sys.banderas.interactivo != 1:
Qtgui.Qaplication.instancia().Exec_ ()
# Método principal
Si __name__ == '__main__':
# Módulo de importación SYS
Sys de importación
# Inicie el bucle de eventos QT a menos que se ejecute en modo interactivo
Si sys.banderas.interactivo != 1:
Qtgui.Qaplication.instancia().Exec_ ()

Producción:

El siguiente gráfico de línea aparecerá después de ejecutar el script anterior.

Dibujar gráfico de barras

Se puede visualizar un conjunto de datos utilizando un gráfico de barras. Una barra simple crea comparando la lista de datos con un rango de datos relacionado. Bargraphitem La clase se usa para crear el gráfico de barras usando pyqtgraph.

Ejemplo-3: dibuja un gráfico de barras

El siguiente script muestra cómo dibujar un gráfico de barras basado en los valores de una matriz numpy. Bargraphitem se usa para dibujar un gráfico de barras con color azul y un valor de ancho de 0.5.

# Importar módulo pyqtgraph
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui desde el módulo pyqtgraph
de pyqtgraph.Qt import Qtgui
# Importar biblioteca numpy
importar numpy como np
# Generar el eje X
x = NP.Arange (0, 10)
# Generar el eje Y
y = NP.Array ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Establecer valores de gráfico de barras y color y ancho del cepillo
BG = PG.Bargraphitem (x = x, altura = y, ancho = 0.5, pincel = 'b')
# Defina la variable de gráfico
PLT = PG.trama()
# Establezca la etiqueta para el eje x
PLT.SetLabel ('Bottom', '

Valores del eje X

')
# Establezca la etiqueta para el eje y
PLT.SetLabel ('izquierda', '

Valores del eje Y

')
# Establecer el título de la barra
PLT.settitle ('

Gráfico de barras usando pyqtgraph

')
# Agregue los elementos del gráfico de barras
PLT.AddItem (BG)
# Método principal
Si __name__ == '__main__':
# Módulo de importación SYS
Sys de importación
# Inicie el bucle de eventos QT a menos que se ejecute en modo interactivo
Si sys.banderas.interactivo != 1:
Qtgui.Qaplication.instancia().Exec_ ()

Producción:

El siguiente gráfico de barras aparecerá después de ejecutar el script anterior.

Conclusión

Creación de tres tipos diferentes de gráficos con valores aleatorios, elementos de lista y matriz numpy se han mostrado en este tutorial utilizando tres ejemplos simples. Los lectores podrán usar el módulo pyqtgraph para implementar gráficos de línea y barra después de leer este tutorial.