Matplotlib: como criar gráficos no Python, guia prático com exemplos

Yuri Matheus
Yuri Matheus

Compartilhe

Avalie este artigo

Se você busca aprender como criar gráficos no Python com a Matplotlib, este artigo vai te ajudar! Apresentar resultados apenas em números pode ser pouco intuitivo.

Ao utilizar gráficos criados com a biblioteca Matplotlib, conseguimos visualizar os dados de maneira mais clara e eficiente. Aprenda aqui o passo a passo para criar gráficos no Python usando a Matplotlib matplotlib

Durante a análise de dados, lidamos com muitos números: vendas, acessos, taxas de retorno, entre outros. 

Esses dados podem ser analisados de diferentes maneiras: utilizando planilhas eletrônicas, como Excel ou Google Sheets, ou linguagens como Python e R, que nos permitem armazenar informações em listas, vetores, data frames, entre outros.  

Este é um passo a passo para quem procura como criar gráficos no Python com a Matplotlib e visualizar informações de forma prática. Abaixo, trago um exemplo real de análise de dados. Ao analisar os dados de vendas do semestre, deparei-me com a seguinte planilha: 

Jan - 105235  
Fev - 107697 
Mar - 110256 
Abr - 109236 
Mai - 107589 
Jun - 106986

Sabemos que esta tabela apresenta os dados de venda do semestre, mas o que esses números realmente indicam? Houve aumento nas vendas? Elas estão em queda?  

Não conseguimos ter uma noção clara do que esses dados significam apenas olhando para os números. O que fazer para interpretá-los melhor?  

Por que criar gráficos no Python com Matplotlib?  

Analisar os dados apenas em tabelas pode não ser a maneira mais eficiente de visualizá-los. É necessário examinar linha por linha, valor por valor, o que pode ser trabalhoso. 

Os números são essenciais para uma análise precisa, mas ao apresentar resultados, podemos e devemos utilizar elementos gráficos para transmitir melhor a mensagem.  

A Matplotlib é uma das principais bibliotecas para quem deseja criar gráficos no Python, seja para análise de dados, apresentações ou projetos de Data Science. Entenda agora como dar os primeiros passos.  

Por exemplo, podemos criar um gráfico a partir da planilha de vendas semestrais, mostrando a evolução das vendas mês a mês.

Se você quer saber, na prática, como criar gráficos no Python com a biblioteca Matplotlib, acompanhe o passo a passo a seguir.

Banner promocional da Alura destacando oferta especial com 40% de desconto em cursos de tecnologia. A mensagem convida a transformar a carreira na maior escola tech da América Latina, com botão “Aproveite” para acessar a promoção.

O que é a biblioteca Matplotlib para criar gráficos no Python?  

No Python, a biblioteca mais popular para a criação de gráficos é a Matplotlib. Com ela, podemos criar diversos tipos de gráficos. Para começar, é preciso instalá-la: 

`pip install matplotlib` 

Ótimo! Com a biblioteca instalada, podemos começar a utilizá-la.  

A biblioteca principal é a matplotlib, e para criar os gráficos, usamos o módulo específico pyplot. Por isso, é necessário importar essa parte:  

>>> import matplotlib.pyplot as plt 

Vamos criar um gráfico usando os dados da planilha de vendas semestrais. Para isso, precisamos informar ao pyplot os meses e os valores de cada mês. Uma forma prática é criar duas listas: uma para os meses e outra para os valores: 

>>> meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho'] 
>>> valores = [105235, 107697, 110256, 109236, 108859, 109986]

Agora, basta solicitar ao pyplot que plote (plot) o gráfico:  

>>> matplotlib.pyplot.plot(meses, valores) 

Após criar o gráfico, ele ainda não é exibido automaticamente. O pyplot constrói o gráfico e armazena em memória. Para visualizar o gráfico na tela, é necessário usar o comando `show()`: 

>>> matplotlib.pyplot.show() 

O método plot cria um gráfico de linhas. Podemos ver que os meses ficaram na parte horizontal do gráfico, isto é, no eixo X. Enquanto os valores ficaram na parte vertical do gráfico, ou seja, no eixo Y

Com o gráfico, é possível visualizar de forma mais clara o comportamento das vendas durante o primeiro semestre. Observa-se que as vendas aumentaram até março, depois tiveram uma queda até maio e, em seguida, voltaram a subir. Mas será que essa queda foi realmente tão significativa?  

Ao analisar o eixo Y do gráfico, percebemos que os valores variam de 105.000 a 110.000. Ou seja, há uma diferença de apenas cinco mil reais entre a base e o topo do eixo.  

Se olharmos bem para o gráfico e para os números, veremos que no mês de março o faturamento foi próximo a cento e dez mil e no próximo mês ele caiu para um valor próximo a cento e nove mil. 

Olhando para os números, essa queda não parece ter sido tão grande, mas quando vemos apenas o gráfico, podemos pensar que tivemos uma queda maior. 

Isso ocorre porque os valores no eixo Y são muito próximos entre si. Dessa forma, pequenas variações para cima ou para baixo podem causar distorções visuais no gráfico.  

Para evitar um pouco esse comportamento, podemos mudar os valores da base e do topo do eixo Y, ou seja, podemos alterar seu limite (ylim()): 

>>> matplotlib.pyplot.plot(meses, valores) 
>>> matplotlib.pyplot.ylim(100000, 120000) 
>>> matplotlib.pyplot.show()

Ao ajustar o limite do eixo Y, percebemos que as quedas no faturamento, antes aparentes como bruscas, são na verdade mais suaves.  

Agora, ao apresentar este gráfico em uma reunião, ele estará mais claro. Mas visualmente, fica evidente do que se trata o gráfico? Está claro qual informação está sendo exibida?  

Para quem construiu o gráfico, está evidente que ele trata das vendas semestrais. Porém, para alguém que nunca o viu, os elementos apresentados podem não ser suficientes, pois há apenas números e meses.  

Pessoas ao analisar esse gráfico podem ficar em dúvida: esses números representam a quantidade de produtos vendidos? Lucro? Em reais, dólares ou outra moeda?  

Para evitar essas possíveis confusões, precisamos deixar claro qual o propósito do nosso gráfico e o que cada eixo significa. 

Como adicionar títulos e rótulos em gráficos no Python com Matplotlib? 

Podemos pedir ao pyplot para nomear nosso gráfico, ou seja, adicionar um título (title) a ele: 

>>> matplotlib.pyplot.title('Faturamento no primeiro semestre de 2017') 

Também é possível informar ao pyplot quais são os significados dos valores nos eixos X e Y. Basta rotular esses eixos usando xlabel e ylabel:  

>>> matplotlib.pyplot.xlabel('Meses') 
>>> matplotlib.pyplot.ylabel('Faturamento em R$39;)

Assim, ao exibir o gráfico, veremos o título e os rótulos de cada eixo:  

Agora, o gráfico está muito mais descritivo. Está claro qual assunto ele aborda e o que significam os eixos X e Y.  

Para saber mais 

Note que, ao importar o módulo pyplot dessa maneira, sempre que formos utilizar uma função, precisamos digitar o caminho completo matplotlib.pyplot, o que pode ser um pouco extenso pyplot, sempre que precisamos chamar alguma função da biblioteca, temos que passar o caminho completo até o módulo, isto é, matplotlib.pyplot. Um nome um pouco grande, não? 

Por isso, é comum dar apelidos aos imports. Por exemplo, podemos importar o módulo `pyplot` como plt

>>> import matplotlib.pyplot as plt 

Assim, sempre que precisar utilizar o módulo, basta chamar pelo apelido:  

>>> plt.show() 

Além do gráfico de linhas, o pyplot pode criar diversos tipos de gráficos, como gráficos de barras, setores (pizza), dispersão, entre outros.  

Além de criar gráficos e adicionar título e rótulos, é possível alterar a cor das linhas, a cor de fundo, aumentar o tamanho dos textos, entre muitas outras customizações. 

Como aprender mais sobre o tema

A visualização de dados é uma das tarefas mais relevantes em ciência de dados, pois além de facilitar a compreensão dos dados de forma intuitiva, torna mais eficiente a comunicação das informações. 

Se você deseja aprender mais sobre como criar gráficos no Python com a Matplotlib, confira nossa Trilha Python para Data Science, que traz desde o básico até técnicas avançadas de visualização de dados. 

Veja também outros conteúdos relacionados à criação de gráficos em Python e outras ferramentas em nossa página de artigos de programação. Para referências externas, consulte a documentação oficial da Matplotlib e artigos sobre boas práticas em visualização de dados

Avalie este artigo

Yuri Matheus
Yuri Matheus

Yuri é desenvolvedor e instrutor. É estudante de Sistemas de Informação na FIAP e formado como Técnico em Informática no Senac SP. O seu foco é nas plataformas Java e Python e em outras áreas como Arquitetura de Software e Machine Learning. Yuri também atua como editor de conteúdo no blog da Alura, onde escreve, principalmente, sobre Redes, Docker, Linux, Java e Python.

Veja outros artigos sobre Programação