NumPy - Matplotlib
Matplotlib é uma biblioteca de plotagem para Python. Ele é usado junto com o NumPy para fornecer um ambiente que é uma alternativa de código aberto eficaz para MatLab. Ele também pode ser usado com kits de ferramentas gráficas, como PyQt e wxPython.
O módulo Matplotlib foi escrito pela primeira vez por John D. Hunter. Desde 2012, Michael Droettboom é o desenvolvedor principal. Atualmente, Matplotlib ver. 1.5.1 é a versão estável disponível. O pacote está disponível em distribuição binária e também na forma de código-fonte em www.matplotlib.org .
Convencionalmente, o pacote é importado para o script Python adicionando a seguinte instrução -
from matplotlib import pyplot as plt
Aqui pyplot()é a função mais importante na biblioteca matplotlib, que é usada para plotar dados 2D. O seguinte script traça a equaçãoy = 2x + 5
Exemplo
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y)
plt.show()
Um objeto ndarray x é criado a partir de np.arange() function como os valores no x axis. Os valores correspondentes noy axis são armazenados em outro ndarray object y. Esses valores são plotados usandoplot() função do submódulo pyplot do pacote matplotlib.
A representação gráfica é exibida por show() função.
O código acima deve produzir a seguinte saída -
Em vez do gráfico linear, os valores podem ser exibidos discretamente, adicionando uma string de formato ao plot()função. Os seguintes caracteres de formatação podem ser usados.
| Sr. Não. | Descrição do personagem |
|---|---|
| 1 | '-' Estilo de linha sólida |
| 2 | '--' Estilo de linha tracejada |
| 3 | '-.' Estilo de linha traço-ponto |
| 4 | ':' Estilo de linha pontilhada |
| 5 | '.' Marcador de ponto |
| 6 | ',' Marcador de pixel |
| 7 | 'o' Marcador de círculo |
| 8 | 'v' Marcador Triangle_down |
| 9 | '^' Marcador Triangle_up |
| 10 | '<' Marcador Triangle_left |
| 11 | '>' Marcador Triangle_right |
| 12 | '1' Marcador Tri_down |
| 13 | '2' Marcador Tri_up |
| 14 | '3' Marcador tri_esquerdo |
| 15 | '4' Marcador tri_right |
| 16 | 's' Marcador quadrado |
| 17 | 'p' Marcador de pentágono |
| 18 | '*' Marcador de estrela |
| 19 | 'h' Marcador hexágono1 |
| 20 | 'H' Marcador hexágono2 |
| 21 | '+' Marcador positivo |
| 22 | 'x' Marcador X |
| 23 | 'D' Marcador de diamante |
| 24 | 'd' Marcador de diamante fino |
| 25 | '|' Marcador Vline |
| 26 | '_' Marcador Hline |
As seguintes abreviações de cores também são definidas.
| Personagem | Cor |
|---|---|
| 'b' | Azul |
| 'g' | Verde |
| 'r' | Vermelho |
| 'c' | Ciano |
| 'm' | Magenta |
| 'você' | Amarelo |
| 'k' | Preto |
| 'W' | Branco |
Para exibir os círculos que representam pontos, em vez da linha no exemplo acima, use “ob” como a string de formato na função plot ().
Exemplo
import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,11)
y = 2 * x + 5
plt.title("Matplotlib demo")
plt.xlabel("x axis caption")
plt.ylabel("y axis caption")
plt.plot(x,y,"ob")
plt.show()
O código acima deve produzir a seguinte saída -
Gráfico de onda senoidal
O seguinte script produz o sine wave plot usando matplotlib.
Exemplo
import numpy as np
import matplotlib.pyplot as plt
# Compute the x and y coordinates for points on a sine curve
x = np.arange(0, 3 * np.pi, 0.1)
y = np.sin(x)
plt.title("sine wave form")
# Plot the points using matplotlib
plt.plot(x, y)
plt.show()
subtrama ()
A função subplot () permite que você plote coisas diferentes na mesma figura. No script a seguir,sine e cosine values são plotados.
Exemplo
import numpy as np
import matplotlib.pyplot as plt
# Compute the x and y coordinates for points on sine and cosine curves
x = np.arange(0, 3 * np.pi, 0.1)
y_sin = np.sin(x)
y_cos = np.cos(x)
# Set up a subplot grid that has height 2 and width 1,
# and set the first such subplot as active.
plt.subplot(2, 1, 1)
# Make the first plot
plt.plot(x, y_sin)
plt.title('Sine')
# Set the second subplot as active, and make the second plot.
plt.subplot(2, 1, 2)
plt.plot(x, y_cos)
plt.title('Cosine')
# Show the figure.
plt.show()
O código acima deve produzir a seguinte saída -
Barra()
o pyplot submodule fornece bar()função para gerar gráficos de barras. O exemplo a seguir produz o gráfico de barras de dois conjuntos dex e y matrizes.
Exemplo
from matplotlib import pyplot as plt
x = [5,8,10]
y = [12,16,6]
x2 = [6,9,11]
y2 = [6,15,7]
plt.bar(x, y, align = 'center')
plt.bar(x2, y2, color = 'g', align = 'center')
plt.title('Bar graph')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
Este código deve produzir a seguinte saída -