Como usar Pyqtgraph?

Como usar Pyqtgraph?

As tarefas de visualização científica ou numérica podem ser realizadas 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. Os 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 mostrou neste tutorial.

Pré -requisitos

Você precisa instalar o módulo pyqtgraph em seu sistema antes de criar o gráfico. Execute o seguinte comando para instalar pyqtgraph usando o PIP3.

$ sudo pip3 install pyqtgraph

Desenhe o gráfico da 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 O widget é usado para criar todas as parcelas de pyqtgraph. Este widget contém uma tela na qual qualquer gráfico pode ser adicionado ou removido.

Exemplo 1: desenhe um gráfico de linha simples

O script a seguir mostra a maneira de desenhar um gráfico de linha usando números aleatórios. faixa() A função é usada para gerar 10 números seqüenciais que são usados ​​para valores de eixo x. O aleatório O módulo de python é usado para gerar 10 números inteiros aleatórios usados ​​para valores do eixo y. trama() O método é usado para desenhar cada gráfico do gráfico de linha com base nos valores do eixo x e do eixo y. Quando o código é executado no modo interativo, então sys.bandeiras.interativo bandeira será Verdadeiro. Se o valor desse sinalizador não for verdadeiro, indica que o loop de evento QT não exige executar porque o repl (executar, avaliar, imprimir, loop) já tem um loop de evento.

# Importar módulo aleatório
# Importar módulo aleatório
importar aleatório como rd
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui do módulo pyqtgraph
de pyqtgraph.Qt Importar 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 enredo
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 ('esquerda', 'valores gerados aleatoriamente')
# Defina o alcance horizontal
plt.setXRange (0, 10)
# Definir faixa vertical
plt.SetyRange (0, 20)
# Defina o título do gráfico
plt.Settitle ("Gráfico de linha simples")
# Defina os valores da plotagem
linha = plt.trama (x, y)
# Método Main
se __name__ == '__main__':
# Importar módulo SYS
Importar sistemas
# Iniciar loop de eventos QT, a menos que seja executado no modo interativo
Se sys.bandeiras.interativo != 1:
Qtgui.Qapplication.instância().exec ()

Saída:

O seguinte gráfico de linha semelhante será aparecido após a execução do script acima. O gráfico varia 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 de python. mkpen () A função é usada para definir a cor e a largura da linha. 'o'é usado como marcador no gráfico, e a cor e a largura do marcador são definidas usando Símbolo e símbolo propriedades.

# Importar módulo pyqtgraph
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui do módulo pyqtgraph
de pyqtgraph.Qt Importar 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 enredo
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')
# Defina o alcance horizontal
plt.setXRange (0, 10)
# Definir faixa 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 da plotagem com cor e largura da caneta
linha = plt.plot (x, y, caneta = pg.mkpen ('r', largura = 6), símbolo = 'o', símbolo = 'b', símbolo = 20)
# Adicione lenda
plt.addlegend ()
# Mostre grades
plt.showGrid (x = true, y = true)
# Método Main
se __name__ == '__main__':
# Importar módulo SYS
Importar sistemas
# Iniciar loop de eventos QT, a menos que seja executado no modo interativo
Se sys.bandeiras.interativo != 1:
Qtgui.Qapplication.instância().exec_ ()
# Método Main
se __name__ == '__main__':
# Importar módulo SYS
Importar sistemas
# Iniciar loop de eventos QT, a menos que seja executado no modo interativo
Se sys.bandeiras.interativo != 1:
Qtgui.Qapplication.instância().exec_ ()

Saída:

O gráfico de linha a seguir será aparecido após a execução do script acima.

Desenhe o gráfico de barras

Um conjunto de dados pode ser visualizado usando um gráfico de barras. Uma barra simples cria comparando a lista de dados com uma gama relacionada de dados. BarraphItem A classe é usada para criar o gráfico de barras usando pyqtgraph.

Exemplo 3: Desenhe um gráfico de barras

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

# Importar módulo pyqtgraph
# Importar módulo pyqtgraph
importar pyqtgraph como PG
# Importar qtgui do módulo pyqtgraph
de pyqtgraph.Qt Importar Qtgui
# Importar biblioteca Numpy
importar numpy como np
# Gere o eixo x
x = np.Arange (0, 10)
# Gere Y-eixo
y = np.Array ([3, 5, 7, 9, 5, 8, 10, 6, 5, 2])
# Defina valores de gráfico de barras e cor e largura do pincel
BG = PG.BarraphItem (x = x, altura = y, largura = 0.5, pincel = 'b')
# Defina a variável da plotagem
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

')
# Defina o título do bar
plt.Settitle ('

Gráfico de barras usando pyqtgraph

')
# Adicione os itens do gráfico de barras
plt.additem (BG)
# Método Main
se __name__ == '__main__':
# Importar módulo SYS
Importar sistemas
# Iniciar loop de eventos QT, a menos que seja executado no modo interativo
Se sys.bandeiras.interativo != 1:
Qtgui.Qapplication.instância().exec_ ()

Saída:

O gráfico de barras a seguir será aparecido após a execução do script acima.

Conclusão

Criando três tipos diferentes de gráficos com valores aleatórios, itens de lista e matriz Numpy mostraram neste tutorial usando três exemplos simples. Os leitores poderão usar o módulo Pyqtgraph para implementar gráficos de linha e barra depois de ler este tutorial.