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 -