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 -