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 pyqtgraphDesenhar 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.