Criação de gráficos com python e matplotlib

Olá! hoje estamos de volta com outro artigo de pitão. Desta vez sobre como criar gráficos com píton e matplotlib.

Matplotlib é uma biblioteca que oferece muitas possibilidades de criar gráficos python a partir de matrizes de dados. O site oficial desta biblioteca é:

https://matplotlib.org/

Por favor partilhe este artigo nas suas redes sociais e/ou comentários.

Vamos começar!

Crear gráficos con matplotlib y python

Instalação de bibliotecas

Para instalar matplotlib basta correr pip instalar matplotlib como se mostra neste ecrã:

installing matplot

Para podermos trabalhar com os exemplos mostrados abaixo, temos também de instalar scipy com o comando pip install scipy:

instalar scipy

E devemos também instalar python-tk no caso do debian/ubuntu e similares é feito com apt install python-tk:

instalar python tk

Gráficos de linhas básicas

Neste primeiro exemplo vamos fazer gráficos simples definindo apenas o eixo “Y” com os dados que queremos desenhar:

ger@ger:~$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from pylab import *
>>> plot([1,2,3,2,1,3,2,1,2,3,4,5,4,30,10,1])
[]
>>> xlabel('mi grafico')
Text(0.5,0,'mi grafico')
>>> title('titulo de mi grafico')
Text(0.5,1,'titulo de mi grafico')
>>> draw()
>>> savefig("mi-grafico1",dpi=300)
>>> close()
>>> 

Com este código criamos um gráfico em pitão com base nos dados definidos na segunda linha (a que começa com o gráfico). Para vos mostrar como funciona, criámos um ficheiro python em /tmp/grafico.py com este código e executámo-lo:

Aqui pode ver que o ficheiro não existe até ser executado:

ver grafico creado

Depois de criarmos o gráfico quando o abrimos, podemos ver isto:

gráfico

Ao alterar algum do código pode fazer com que uma janela GUI mostre o gráfico que gerou, isto é feito com a declaração draw() :

grafico1

Se adicionarmos antes do draw() a declaração grid(True), a grelha de fundo será exibida. Para exibir a legenda, adicionar legend( (‘Label1’,), loc = ‘upper left’) onde “Label 1” é o texto a exibir:

grafico1 con grid

Se quisermos complicar um pouco mais o gráfico de linhas simples, podemos adicionar uma linha temporal e uma segunda linha de dados:

grafico2 y codigo

No caso anterior, conseguimos definir a cor e o texto do rótulo de cada linha. Isto é feito através da modificação dos parâmetros “cor” e “etiqueta”. Neste caso, como usamos a legend(loc = ‘upper left’) a legenda toma os valores do parâmetro da etiqueta da declaração(). Neste caso poderíamos também ter utilizado a legend (“Vlores 1”, “Valores2”), loc = ‘upper left’) mas a frase utilizada é mais conveniente, uma vez que evitamos passar parâmetros e estes são adquiridos automaticamente.

Gráficos de área

É tão simples como acrescentar a frase fill_between(time,valores2,color=”red”) (onde também definimos a cor de preenchimento da área) para cada linha de um único gráfico:

grafico area

E este é o resultado do gráfico de área:

area

 

Gráficos 3D

Com o seguinte código geramos um gráfico 3D com os dados fornecidos em X e Y, o eixo X é fornecido no primeiro parâmetro de np.arange:

from pylab import *
from mpl_toolkits.mplot3d import Axes3D

fig = figure()
ax = Axes3D(fig)
X = np.arange(-8, 30, 0.50)
Y = np.arange(-8, 20, 0.50)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)

ax.plot_surface(X, Y, Z, rstride=1, cstride=1)
show()

O resultado é:

Se quisermos alterar o mapa de cores, podemos modificar ax.plot_surface(X, Y, Z, rstride=1, cstride=1) por exemplo:

ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=’hot‘) esta frase definirá cores quentes e se quisermos cores frias podemos usar “cool”.

Gráficos “Pie” ou “Pastel”

Nesta última secção mostramos como gerar um gráfico de tartes.

from pylab import *
y = [1,2,3,2,1,3,2,1,2,3,4,5,4,30,10,1]
pie(y)
xlabel('mi grafico')
title('titulo de mi grafico')
legend( ('Etiqueta1',), loc = 'upper left')
draw()
#savefig("mi-grafico1",dpi=300)
#close()
grid(True)
show()

Se substituirmos pie(y) por plot(y)geramos um gráfico de linhas. As linhas anotadas, se não forem comentadas, guardarão o gráfico directamente para além de o exibirem com show() . O resultado deste código é:

pie

E é só isso. Pode encontrar mais informações sobre como fazer outros tipos de gráficos, tais como gráficos de barras, na documentação do sítio web oficial. https://matplotlib.org/

Se gostou do artigo, pode comentá-lo ou partilhá-lo nas suas redes sociais.

Até breve!

Deixe um comentário