Como criar um gráfico básico com a biblioteca Plotly em Python

Gráficos com a biblioteca Plotly em Python

Neste tutorial apresento mais uma biblioteca importante para visualização de dados em Python: a biblioteca Plotly, rica em recursos e de uso simplificado, mas poderoso.

O que é a biblioteca plotly em Python?

A Plotly é uma biblioteca em Python que permite criar visualizações interativas em diversos formatos, como gráficos de linhas, barras, dispersão, mapas, entre outros. Essa biblioteca oferece uma ampla gama de recursos para criação de gráficos, como ferramentas de zoom, arraste, seleção, exportação de imagens, entre outras.

Além disso, a Plotly é capaz de criar e exportar gráficos em diversos formatos de saída, incluindo HTML, PNG, PDF e SVG.

Uma das principais características da Plotly é a sua facilidade de uso. A biblioteca oferece uma API intuitiva e bem documentada que permite criar gráficos interativos de maneira rápida e fácil. Além disso, a Plotly é uma biblioteca bastante flexível e pode ser usada em conjunto com outras bibliotecas de visualização, como a Matplotlib e a Seaborn.

Outra vantagem da Plotly é a sua capacidade de compartilhar gráficos interativos online. A biblioteca possui um serviço online que permite publicar gráficos em nuvem, o que facilita o compartilhamento e a visualização dos gráficos em diferentes dispositivos e plataformas.

Em resumo, a Plotly é uma biblioteca de visualização de dados em Python que permite criar gráficos interativos e compartilháveis de maneira fácil e flexível.

Tutorial básico de plotly em Python

Exemplo: Vamos criar um gráfico de linhas contendo dados de seis meses de medições de temperaturas médias mensais em uma cidade.

1. Primeiramente, devemos instalar a biblioteca Plotly (se não estiver instalada ainda):

pip install plotly

2. Importamos as bibliotecas necessárias ao nosso projeto:

import plotly.graph_objs as go
import plotly.offline as pyo

A biblioteca plotly.graph_objs é responsável por definir os objetos que serão usados para criar gráficos com a biblioteca Plotly em Python. Esses objetos representam diferentes tipos de gráficos, como gráficos de linhas, barras, dispersão, pizza, entre outros. Além disso, esses objetos podem ser configurados para personalizar o estilo, as cores, as legendas, os eixos, os títulos e outras propriedades do gráfico.

Já a biblioteca plotly.offline fornece funções para criar e exibir gráficos Plotly no modo offline, ou seja, sem a necessidade de uma conexão com a internet. Essas funções permitem criar gráficos em notebooks Jupyter, em aplicativos de desktop, em serviços de nuvem e em outras plataformas, sem precisar fazer o upload dos dados ou do código para um servidor web.

Além disso, a biblioteca plotly.offline também permite salvar os gráficos como arquivos HTML, PNG, PDF ou SVG, para compartilhamento e visualização em diferentes dispositivos e plataformas.

3. Precisamos criar as listas com os dados mensais das temperaturas médias, para popular o gráfico que será gerado:

meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho']
temperaturas = [25, 26, 27, 26, 24, 22]

4. Criamos um objeto trace do tipo “linha” para representar os dados:

trace = go.Scatter(x=meses, y=temperaturas, mode='lines')

O objeto Trace é uma estrutura de dados da biblioteca Plotly em Python que representa um conjunto de dados em um gráfico. Em outras palavras, ele é usado para definir o tipo de gráfico, as propriedades de estilo, as legendas, as cores e outras informações relacionadas aos dados que serão plotados.

Cada um desses objetos representa uma série de dados em um gráfico, como uma série de pontos em um gráfico de dispersão, uma série de barras em um gráfico de barras ou uma série de linhas em um gráfico de linhas.

A biblioteca Plotly possui vários tipos de objetos Trace pré-definidos, que podem ser usados para criar diferentes tipos de gráficos, como gráficos de linhas, gráficos de barras, gráficos de dispersão, gráficos de pizza, entre outros.

Cada objeto Trace é adicionado a um objeto Figure, que é o recipiente principal que armazena todos os objetos Trace e Layout do gráfico. Além disso, o objeto Trace também possui métodos que permitem personalizar ainda mais o estilo, as cores, as legendas e outras propriedades do gráfico.

5. Criamos agora um objeto data contendo o trace criado:

data = [trace]

O objeto data é uma outra estrutura de dados importante da biblioteca Plotly em Python, que representa uma lista de objetos Trace que contêm os dados do gráfico. É usado em conjunto com o objeto Layout para construir e personalizar gráficos interativos.

O objeto data contém uma lista de objetos Trace que especificam o tipo de gráfico, as propriedades de estilo, as legendas, as cores e outras informações relacionadas aos dados que serão plotados.

Cada objeto Trace representa uma série de dados em um gráfico, como uma série de pontos em um gráfico de dispersão, uma série de barras em um gráfico de barras ou uma série de linhas em um gráfico de linhas.

O objeto data é criado a partir de uma lista de objetos Trace, que podem ser criados manualmente ou por meio de funções específicas da biblioteca Plotly para diferentes tipos de gráficos. Depois de criar o objeto data, ele é adicionado ao objeto Figure junto com o objeto Layout para criar e personalizar o gráfico.

A manipulação do objeto data permite personalizar ainda mais o gráfico, como adicionar diferentes tipos de traços, alterar as cores, as legendas e outras propriedades específicas para cada tipo de gráfico.

6. Agora criamos um objeto layout com as configurações do gráfico:

layout = go.Layout(title='Temperaturas Médias Mensais', xaxis=dict(title='Meses'), yaxis=dict(title='Temperaturas (°C)'))

O objeto Layout é uma das principais estruturas de dados da biblioteca Plotly em Python, que representa um conjunto de propriedades que controlam o layout do gráfico, como o título, os rótulos dos eixos, a legenda e a fonte.

É usado em conjunto com o objeto data para construir e personalizar gráficos interativos. Ele é adicionado ao objeto Figure junto com o objeto data para criar e personalizar o gráfico.

Esse objeto possui muitas propriedades, incluindo:

  • title: define o título do gráfico
  • xaxis: define as propriedades do eixo x, como o título, a fonte e as unidades
  • yaxis: define as propriedades do eixo y, como o título, a fonte e as unidades
  • legend: define as propriedades da legenda, como a posição e a orientação
  • font: define as propriedades da fonte, como o tamanho e a cor
  • margin: define as margens do gráfico
  • width: define a largura do gráfico em pixels
  • height: define a altura do gráfico em pixels

O objeto Layout é criado a partir de um dicionário Python que contém as propriedades desejadas do gráfico. A manipulação do objeto Layout permite personalizar o gráfico de acordo com as necessidades específicas do usuário, como alterar o tamanho, a posição e a orientação dos rótulos dos eixos, a cor de fundo do gráfico e outras propriedades de layout.

7. Criamos também um objeto figure com os dados e o layout criados:

fig = go.Figure(data=data, layout=layout)

O objeto Figure é uma das principais estruturas de dados da biblioteca Plotly em Python. Ele é usado para criar e personalizar gráficos interativos, combinando diferentes objetos Trace e Layout da biblioteca plotly.graph_objs.

Em outras palavras, o objeto Figure é como um recipiente que armazena os dados e as configurações de um gráfico Plotly. Ele é criado a partir de uma lista de objetos Trace que representam os dados do gráfico, e um objeto Layout que define as propriedades de estilo, formatação, legendas, títulos, eixos, entre outras coisas.

Esse objeto também possui vários métodos que permitem personalizar ainda mais o gráfico, como a adição de anotações, textos, formas, imagens e outras informações adicionais.

Uma vez criado o objeto Figure, ele pode ser exibido em um ambiente de desenvolvimento, como um notebook Jupyter, ou salvo como um arquivo HTML, PNG, PDF ou SVG, para compartilhamento e visualização em diferentes dispositivos e plataformas.

8. Por fim, usamos a função plot da biblioteca plotly.offline para exibir o gráfico:

pyo.plot(fig, filename='grafico_temperaturas.html')

Pronto! O gráfico resultante exibirá as temperaturas médias mensais em uma cidade ao longo de seis meses, com os meses no eixo x e as temperaturas no eixo y. Ele será salvo como um arquivo HTML (no caso, de nome grafico_temperaturas.html) que pode ser compartilhado e visualizado em diferentes dispositivos e plataformas, e poderá ser aberto em um navegador qualquer, como o Google Chrome ou Mozilla Firefox para visualização.

Além disso, o gráfico será interativo, permitindo zoom, pan, seleção de dados e outras interações. Experimente redimensionar a janela do navegador para ver como o gráfico se comporta!

Código completo do exemplo

import plotly.graph_objs as go
import plotly.offline as pyo

meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho']
temperaturas = [25, 26, 27, 26, 24, 22]

trace = go.Scatter(x=meses, y=temperaturas, mode='lines')
data = [trace]
layout = go.Layout(title='Temperaturas Médias Mensais', xaxis=dict(title='Meses'), yaxis=dict(title='Temperaturas (°C)'))
fig = go.Figure(data=data, layout=layout)

pyo.plot(fig, filename='grafico_temperaturas.html')

Gráfico resultante:

gráfico básico com a biblioteca Plotly em Python

Gráfico básico gerado com a biblioteca Plotly em Python

É isso aí! Neste tutorial apresentei a biblioteca Plotly em Python, e mostrei como criar um gráfico de linhas simples, embutido em um arquivo HTML.

Nos próximos tutoriais vamos explorar mais a fundo os recursos dessa biblioteca.

Até!

Referências

 

Sobre Fábio dos Reis (1197 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*