Escolar Documentos
Profissional Documentos
Cultura Documentos
17 Nov, 2023
Introdução
Matplot é uma coleção de funções que fazem o matplotlib funcionar como o MATLAB. Cada função pyplot
faz alguma alteração em uma figura: por exemplo, cria uma figura, cria uma área de plotagem em uma
figura, plota algumas linhas em uma área de plotagem, decora a área com rótulos (lebels), etc.
A geração de visualizações com matplotlib é muito rápida:
plt.plot([1, 2, 3, 4])
plt.ylabel('alguns números')
plt.show()
4.0
3.5
3.0
alguns números
2.5
2.0
1.5
1.0
0.0 0.5 1.0 1.5 2.0 2.5 3.0
Observe que o eixo x varia de 0-3 e o eixo y de 1-4. Se você fornecer uma única lista ou matriz para
pyplot.plot, matplotlib assumirá que é uma sequência de valores y e gerará automaticamente os valores x.
1
Como os intervalos python começam com 0, o vetor x padrão tem o mesmo comprimento que y, mas começa
com 0; Portanto, os dados X são [0, 1, 2, 3].
pyplot.plot é uma função versátil, e terá um número arbitrário de argumentos. Por exemplo, para plotar
x versus y, podemos escrever:
16
14
12
10
8
6
4
2
Para cada par de argumentos x, y, há um terceiro argumento opcional que é a cadeia de caracteres de formato
que indica a cor e o tipo de linha do gráfico. A cadeia de caracteres de formato padrão é ‘b-’, que é
uma linha azul sólida. Por exemplo, para plotar o acima com círculos vermelhos, pode-se escrever:
plt.show()
2
20.0
17.5
15.0
12.5
10.0
7.5
5.0
2.5
0.0
0 1 2 3 4 5 6
3
Exemplo abaixo ilustra a plotagem de várias linhas com estilos de formato diferentes em uma chamada de
função.
import numpy as np
100
80
60
40
20
0
0 1 2 3 4 5
4
Plotagem com cadeias de caracteres de palavra-chave
Há alguns casos em que você tem dados em um formato que permite acessar variáveis específicas com cadeias
de caracteres. Por exemplo, com structured vetor ou pandas.DataFrame.
50
40
30
enrada b
20
10
10
0 10 20 30 40 50
entrada a
5
Plotagem com variáveis categóricas
Também é possível criar um gráfico usando variáveis categóricas. Matplotlib permite que você passe variáveis
categóricas diretamente para muitas funções de plotagem. Por exemplo:
60 60 60
40 40 40
20 20 20
0 0 0
group_a group_b group_c group_a group_b group_c group_a group_b group_c
6
Trabalhando com múltiplas figuras e eixos
Tenha o conceito da figura atual e dos eixos atuais. Todas as funções de plotagem se aplicam aos eixos
atuais.
def f(t):
return np.exp(-t) * np.cos(2*np.pi*t)
t1 = np.arange(0.0,5.0,0.1)
t2 = np.arange(0.0,5.0,0.02)
plt.figure()
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')
plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()
1.0
0.5
0.0
0.5
0 1 2 3 4 5
1.0
0.5
0.0
0.5
1.0
0 1 2 3 4 5
7
Trabalhando com texto
pyplot.text pode ser usado para adicionar texto em um local arbitrário, e pyplot.xlabel, pyplot.ylabel
e .pyplot.ylabel são usados para adicionar texto nos locais indicados.
plt.xlabel('Inteligência')
plt.ylabel('Probabilidade')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$\mu=100,\ \sigma=15$')
plt.axis([40, 160, 0, 0.03])
plt.grid(True)
plt.show()
Histogram of IQ
0.030
0.025 = 100, = 15
0.020
Probabilidade
0.015
0.010
0.005
0.000
40 60 80 100 120 140 160
Inteligência
8
Eixos logarítmicos e outros eixos não lineares
matplotlib.pyplot suporta não apenas escalas de eixos lineares, mas também escalas logarítmicas e logit. Isso
é comumente usado se os dados abrangem muitas ordens de magnitude. Alterar a escala de um eixo é fácil:
plt.xscale(‘log’)
Um exemplo de quatro gráficos com os mesmos dados e escalas diferentes para o eixo y é mostrado abaixo
# linear
plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)
# log
plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)
# symmetric log
plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthresh=0.01)
plt.title('symlog')
plt.grid(True)
# logit
plt.subplot(224)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)
9
linear log
1.0 100
0.8
0.6 10 1
0.4
0.2 10 2
0.0
0 200 400 600 800 0 200 400 600 800
symlog logit
10 1 1 10 3
10 2 1 10 2
0 1 10 1
1
2
10 2
10 1
10 1
10 2
10
Histograma
O gráfico mais comum para exibir distribuições de frequência é um histograma. Para criar um histograma,
a primeira etapa é criar um compartimento de intervalos, distribuir todo o intervalo de valor em séries de
intervalos e contar o valor que cairá no intervalo determinado. Podemos usar a função plt.hist() para plotar
os histogramas que tomarão vários argumentos como dados, bin, cor, etc.
50
40
30
20
10
0
150 160 170 180 190 200
11
Bar Plot
Principalmente o gráfico de barras é usado para mostrar a relação entre os valores numéricos e categóricos.
Em um gráfico de barras, temos um eixo representando uma determinada categoria das colunas e outro eixo
representando os valores ou contagem da categoria específica. Os gráficos de barras são plotados vertical e
horizontalmente e são plotados usando a seguinte linha de código:
plt.bar(x,height,width,bottom,align) exemplo
#define array
data= [5. , 25. , 50. , 20.]
plt.bar(range(len(data)), data,color='c')
plt.show()
50
40
30
20
10
0
0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
12
Gráfico de dispersão
Os gráficos de dispersão são usados para mostrar as relações entre as variáveis e usam os pontos para
a plotagem ou para mostrar a relação entre duas variáveis numéricas.O método scatter() é usado para
plotagem.
#cria x e y axis
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)
plt.show()
110
105
100
95
90
85
80
2 4 6 8 10 12 14 16
13
Grafico de caixa e bigode
Um gráfico de caixa e bigode é usado para mostrar o resumo de todo o conjunto de dados ou todos os valores
numéricos no conjunto de dados. O resumo contém mínimo, primeiro quartil, mediana, terceiro quartil e
máximo. Além disso, a mediana está presente entre o primeiro e o terceiro quartil. Aqui o eixo x contém os
valores de dados e as coordenadas y mostram a distribuição de frequência.
plt.show()
160
140
120
100
80
60
14