0% acharam este documento útil (0 voto)
114 visualizações

Introdução Matplotlib

O documento introduz o Matplotlib, uma biblioteca Python para criação de gráficos. Ele descreve como o Matplotlib permite plotar dados de forma rápida e flexível, com controle sobre estilos de linha, cores, marcadores e formatação dos eixos. Também explica como criar gráficos com variáveis categóricas, trabalhar com múltiplas figuras, adicionar texto e usar diferentes escalas nos eixos como logarítmica.

Enviado por

albaro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
114 visualizações

Introdução Matplotlib

O documento introduz o Matplotlib, uma biblioteca Python para criação de gráficos. Ele descreve como o Matplotlib permite plotar dados de forma rápida e flexível, com controle sobre estilos de linha, cores, marcadores e formatação dos eixos. Também explica como criar gráficos com variáveis categóricas, trabalhar com múltiplas figuras, adicionar texto e usar diferentes escalas nos eixos como logarítmica.

Enviado por

albaro
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 14

introdução à Matplotl

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:

import matplotlib.pyplot as plt

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:

plt.plot([1, 2, 3, 4], [1, 4, 9, 16])


plt.show()

16
14
12
10
8
6
4
2

1.0 1.5 2.0 2.5 3.0 3.5 4.0

Formatando o estilo do gráfico

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.plot([1, 2, 3, 4], [1, 4, 9, 16], 'ro')


plt.axis((0,6,0,20)) # define eixo x (0,6), e eixi y (0,20)

## (0.0, 6.0, 0.0, 20.0)

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

# tempo amostrado uniformemente em intervalos de 200 ms


t = np.arange(0., 5., 0.2)

# traços vermelhos, quadrados azuis e triângulos verdes


plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'gˆ')
plt.show()

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.

data = {'a': np.arange(50),


'c': np.random.randint(0, 50, 50),
'd': np.random.randn(50)}
data['b'] = data['a'] + 10 * np.random.randn(50)
data['d'] = np.abs(data['d']) * 100

plt.scatter('a', 'b', c='c', s='d', data=data)


plt.xlabel('entrada a')
plt.ylabel('enrada b')
plt.show()

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:

names = ['group_a', 'group_b', 'group_c'] # nome grupo


values = [1, 10, 100] # valor

plt.figure(figsize=(9, 3)) # definir tanhao figura

plt.subplot(131) # define impresao primer sub grafico


plt.bar(names, values) # grafica grfico de bar
plt.subplot(132) # define impresao segundo sub grafico
plt.scatter(names, values) # grafico de pontos
plt.subplot(133)
plt.plot(names, values) # grafico de linha
plt.suptitle('Grafico de variável categoricas') # defini nome do titulo grafico
plt.show()

Grafico de variável categoricas


100 100 100
80 80 80

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.

mu, sigma = 100, 15 # define variáveis mu e sigms


x = mu + sigma * np.random.randn(10000)

# o histograma dos dados


n, bins, patches = plt.hist(x, 50, density=True, facecolor='g', alpha=0.75)

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])

## (40.0, 160.0, 0.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

# semente aleatório para reprodutibilidade


np.random.seed(19680801)

# inventar algunos datos en el intervalo abierto (0, 1)


y = np.random.normal(loc=0.5, scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))

# plot con varias escalas de eixos


plt.figure()

# 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)

#Ajuste o subplot, pois o logit pode ocupar mais espaço


# o que o normal, devido a rótulos y-tick como "1 - 10ˆ{-3}"
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.25,
wspace=0.35)
plt.show()

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

0 200 400 600 800 0 200 400 600 800

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.

#desenhar amostras aleatórias de distribuições aleatórias


x = np.random.normal(170, 10, 250)
#plot histograms
plt.hist(x)
plt.show()

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.

#cria valores aleatorios usando numpy


values= np.random.normal(100, 20, 300)
#cria the plot by boxplot() function
plt.boxplot(values,patch_artist=True,vert=True)

## {’whiskers’: [<matplotlib.lines.Line2D object at 0x141ac20d0>, <matplotlib.lines.Line2D object at 0x1

plt.show()

160

140

120

100

80

60

14

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy