Pitón

Cómo utilizar PyQtGraph?

Cómo utilizar 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 usando este módulo. Cómo utilizar el PyQtGraph módulo para dibujar diferentes tipos de gráficos se ha mostrado en este tutorial.

Prerrequisitos

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 lineal

Un gráfico de líneas o gráfico de líneas es un gráfico que muestra información mediante el uso de una serie de diagramas de datos. PlotWidget El widget se usa para crear todos los gráficos de PyQtGraph. Este widget contiene un lienzo en el que se puede agregar o eliminar cualquier gráfico.

Ejemplo 1: Dibujar un gráfico lineal simple

La siguiente secuencia de comandos muestra la forma de dibujar un gráfico de líneas utilizando números aleatorios. distancia() La función se utiliza para generar 10 números secuenciales que se utilizan para los valores del eje x. La aleatorio El módulo de Python se usa para generar 10 números enteros aleatorios que se usan para los valores del eje y. gráfico() El método se utiliza para dibujar cada gráfico del gráfico de líneas en función de los valores del eje xy del eje y. Cuando el código se ejecuta en modo interactivo, entonces sys.banderas.interactivo la bandera será Cierto. Si el valor de esta bandera no es Verdadero, indica que el bucle de eventos Qt no necesita ejecutarse porque el REPL (Ejecutar, Evaluar, Imprimir, Bucle) ya tiene un bucle de eventos.

# Importar módulo aleatorio
# Importar módulo aleatorio
importar aleatoriamente como rd
# Importar módulo PyQtGraph
importar pyqtgraph como pg
# Importar QtGui desde el módulo PyQtGraph
de pyqtgraph.Qt importar 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.añadir (n)
# Inicializar la trama
plt = pg.gráfico()
# Establecer la etiqueta para el eje x
plt.setLabel ('bottom', 'Valores generados secuencialmente')
# Establecer la etiqueta para el eje y
plt.setLabel ('izquierda', 'Valores generados aleatoriamente')
# Establecer rango horizontal
plt.setXRange (0, 10)
# Establecer rango vertical
plt.setYRange (0, 20)
# Establecer el título del gráfico
plt.setTitle ("Gráfico de líneas simples")
# Establecer los valores de la trama
línea = plt.trama (x, y)
# Método principal
if __name__ == '__main__':
# Importar módulo sys
importar sys
# Inicie el bucle de eventos Qt a menos que se ejecute en modo interactivo
si sys.banderas.interactivo != 1:
QtGui.QApplication.ejemplo().ejecutivo ()

Producción:

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

Ejemplo 2: dibujar un gráfico de líneas con estilo y marcador

La siguiente secuencia de comandos muestra cómo dibujar un gráfico de líneas de estilista basado en los valores de una lista de Python. mkPen () La función se utiliza 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 usando símbolo pluma y símboloTamaño propiedades.

# Importar módulo PyQtGraph
# Importar módulo PyQtGraph
importar pyqtgraph como pg
# Importar QtGui desde el módulo PyQtGraph
de pyqtgraph.Qt importar 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.gráfico()
# Establecer la etiqueta para el eje x
plt.setLabel ('inferior', 'Valores del eje X')
# Establecer la etiqueta para el eje y
plt.setLabel ('izquierda', 'Valores del eje Y')
# Establecer rango horizontal
plt.setXRange (0, 10)
# Establecer rango vertical
plt.setYRange (0, 20)
# Establecer el título del gráfico
plt.setTitle ("Gráfico de líneas con estilo y marcador")
# Establecer el color de fondo
plt.setBackground ('d5ecf2')
# Establezca los valores de la trama con el color y el 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
if __name__ == '__main__':
# Importar módulo sys
importar sys
# Inicie el bucle de eventos Qt a menos que se ejecute en modo interactivo
si sys.banderas.interactivo != 1:
QtGui.QApplication.ejemplo().exec_ ()
# Método principal
if __name__ == '__main__':
# Importar módulo sys
importar sys
# Inicie el bucle de eventos Qt a menos que se ejecute en modo interactivo
si sys.banderas.interactivo != 1:
QtGui.QApplication.ejemplo().exec_ ()

Producción:

El siguiente gráfico de líneas 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 se 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: dibujar 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 utiliza 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 importar QtGui
# Importar biblioteca NumPy
importar numpy como np
# Generar eje x
x = np.arange (0, 10)
# Generar eje y
y = np.matriz ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Establecer valores de gráfico de barras y color y ancho del pincel
bg = pg.BarGraphItem (x = x, altura = y, ancho = 0.5, pincel = 'b')
# Definir la variable de la trama
plt = pg.gráfico()
# Establecer la etiqueta para el eje x
plt.setLabel ('parte inferior', '

Valores del eje X

')
# Establecer 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

')
# Agregar los elementos del gráfico de barras
plt.addItem (bg)
# Método principal
if __name__ == '__main__':
# Importar módulo sys
importar sys
# Inicie el bucle de eventos Qt a menos que se ejecute en modo interactivo
si sys.banderas.interactivo != 1:
QtGui.QApplication.ejemplo().exec_ ()

Producción:

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

Conclusión

En este tutorial se muestra la creación de tres tipos diferentes de gráficos con valores aleatorios, elementos de lista y matriz NumPy mediante el uso de tres ejemplos simples. Los lectores podrán utilizar el módulo PyQtGraph para implementar gráficos de líneas y barras después de leer este tutorial.

Juegos HD remasterizados para Linux que nunca tuvieron un lanzamiento de Linux antes
Muchos desarrolladores y editores de juegos están creando una remasterización HD de juegos antiguos para extender la vida útil de la franquicia, por f...
Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MAC...
Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...