Pitão

Como usar o PyQtGraph?

Como usar o PyQtGraph?

As tarefas de visualização científica ou numérica podem ser feitas em Python facilmente usando várias bibliotecas Python, como Plotly, Matplotlib, Seaborn, ggplot, PyQt, etc. PyQtGraph é um módulo útil do PyQt biblioteca para criar um gráfico. Este módulo pode criar gráficos muito rápido. Gráficos 2D e 3D podem ser criados usando este módulo. Como usar o PyQtGraph módulo para desenhar diferentes tipos de gráficos mostrado neste tutorial.

Pré-requisitos

Você deve instalar o módulo PyQtGraph em seu sistema antes de criar o gráfico. Execute o seguinte comando para instalar o PyQtGraph usando pip3.

$ sudo pip3 install pyqtgraph

Desenhar gráfico de linha

Um gráfico de linha ou gráfico de linha é um gráfico que exibe informações usando uma série de gráficos de dados. PlotWidget widget é usado para criar todos os gráficos de PyQtGraph. Este widget contém uma tela na qual qualquer plot pode ser adicionado ou removido.

Exemplo-1: Desenhe um gráfico de linha simples

O script a seguir mostra como desenhar um gráfico de linha usando números aleatórios. alcance() função é usada para gerar 10 números sequenciais que são usados ​​para valores do eixo x. O aleatória módulo de python é usado para gerar 10 números inteiros aleatórios usados ​​para valores do eixo y. trama() método é usado para desenhar cada plotagem do gráfico de linha com base nos valores dos eixos xey. Quando o código é executado no modo interativo, então sys.bandeiras.interativo bandeira será Verdadeiro. Se o valor deste sinalizador não for True, isso indica que o loop de evento Qt não precisa ser executado porque o REPL (Run, Evaluate, Print, Loop) já tem um loop de evento.

# Importar módulo aleatório
# Importar módulo aleatório
importar aleatório como rd
# Import PyQtGraph Module
import pyqtgraph como pg
# Importar QtGui do Módulo PyQtGraph
do pyqtgraph.Qt import QtGui
# Gerar valores do eixo x
x = intervalo (0, 10)
# Gerar valores do eixo y
y = []
para i no intervalo (0, 10):
n = rd.randint (0, 20)
y.anexar (n)
# Inicialize o gráfico
plt = pg.trama()
# Defina o rótulo para o eixo x
plt.setLabel ('bottom', 'Valores gerados sequencialmente')
# Defina o rótulo para o eixo y
plt.setLabel ('left', 'Valores gerados aleatoriamente')
# Definir intervalo horizontal
plt.setXRange (0, 10)
# Definir intervalo vertical
plt.setYRange (0, 20)
# Defina o título do gráfico
plt.setTitle ("Gráfico de linha simples")
# Defina os valores do gráfico
line = plt.plot (x, y)
# Método principal
if __name__ == '__main__':
# Módulo de importação sys
import sys
# Inicie o loop de eventos Qt, a menos que seja executado no modo interativo
se sys.bandeiras.interativo != 1:
QtGui.QApplication.instância().exec ()

Resultado:

O seguinte gráfico de linha semelhante aparecerá após a execução do script acima. O gráfico irá variar em cada execução para os valores aleatórios.

Exemplo 2: Desenhe um gráfico de linha com estilo e marcador

O script a seguir mostra como desenhar um gráfico de linha estilista com base nos valores de uma lista python. mkPen () função é usada para definir a cor e largura da linha. 'o'é usado como marcador no gráfico, e a cor e a largura do marcador são definidas usando SymbolPen e symbolSize propriedades.

# Import PyQtGraph Module
# Import PyQtGraph Module
import pyqtgraph como pg
# Importar QtGui do Módulo PyQtGraph
do pyqtgraph.Qt import QtGui
# Gerar valores do eixo x
x = intervalo (0, 10)
# Gerar valores do eixo y
y = [3, 7, 5, 11, 8, 13, 9, 16, 15, 12]
# Inicialize o gráfico
plt = pg.trama()
# Defina o rótulo para o eixo x
plt.setLabel ('bottom', 'Valores do eixo X')
# Defina o rótulo para o eixo y
plt.setLabel ('esquerda', 'Valores do eixo Y')
# Definir intervalo horizontal
plt.setXRange (0, 10)
# Definir intervalo vertical
plt.setYRange (0, 20)
# Defina o título do gráfico
plt.setTitle ("Gráfico de linha com estilo e marcador")
# Defina a cor de fundo
plt.setBackground ('d5ecf2')
# Defina os valores do gráfico com a cor e largura da caneta
line = plt.plot (x, y, caneta = pg.mkPen ('r', largura = 6), símbolo = 'o', símboloPen = 'b', tamanho do símbolo = 20)
# Adicionar legenda
plt.addLegend ()
# Mostrar grades
plt.showGrid (x = True, y = True)
# Método principal
if __name__ == '__main__':
# Módulo de importação sys
import sys
# Inicie o loop de eventos Qt, a menos que esteja em modo interativo
se sys.bandeiras.interativo != 1:
QtGui.QApplication.instância().exec_ ()
# Método principal
if __name__ == '__main__':
# Módulo de importação sys
import sys
# Inicie o loop de eventos Qt, a menos que esteja em modo interativo
se sys.bandeiras.interativo != 1:
QtGui.QApplication.instância().exec_ ()

Resultado:

O seguinte gráfico de linha aparecerá após a execução do script acima.

Desenhar Gráfico de Barras

Um conjunto de dados pode ser visualizado usando um gráfico de barras. Uma barra simples é criada comparando a lista de dados com um intervalo relacionado de dados. BarGraphItem classe é usada para criar o gráfico de barras usando PyQtGraph.

Exemplo 3: Desenhe um gráfico de barras

O seguinte script mostra como desenhar um gráfico de barras com base nos valores de uma matriz NumPy. BarGraphItem é usado para desenhar um gráfico de barras com a cor azul e um valor de largura de 0.5.

# Importar módulo PyQtGraph
# Importar módulo PyQtGraph
import pyqtgraph como pg
# Importar QtGui do Módulo PyQtGraph
do pyqtgraph.Qt import QtGui
# Importar biblioteca NumPy
importar numpy como np
# Gerar eixo x
x = np.arange (0, 10)
# Gerar eixo y
y = np.matriz ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Defina os valores do gráfico de barras e a cor e largura do pincel
bg = pg.BarGraphItem (x = x, altura = y, largura = 0.5, escova = 'b')
# Defina a variável do gráfico
plt = pg.trama()
# Defina o rótulo para o eixo x
plt.setLabel ('inferior', '

Valores do eixo X

')
# Defina o rótulo para o eixo y
plt.setLabel ('esquerda', '

Valores do eixo Y

')
# Defina o título da barra
plt.setTitle ('

Gráfico de barras usando PyQtGraph

')
# Adicione os itens do gráfico de barras
plt.addItem (bg)
# Método principal
if __name__ == '__main__':
# Módulo de importação sys
import sys
# Inicie o loop de eventos Qt, a menos que esteja em modo interativo
se sys.bandeiras.interativo != 1:
QtGui.QApplication.instância().exec_ ()

Resultado:

O seguinte gráfico de barras aparecerá após a execução do script acima.

Conclusão

A criação de três tipos diferentes de gráficos com valores aleatórios, itens de lista e matriz NumPy são mostrados neste tutorial usando três exemplos simples. Os leitores serão capazes de usar o módulo PyQtGraph para implementar gráficos de linhas e barras após ler este tutorial.

Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...