Blog

Como criar gráficos interativos usando Plotly e Python

Carlos Melo
Escrito por Carlos Melo em 23/01/2020
Como criar gráficos interativos usando Plotly e Python
Junte-se a mais de 9.500 pessoas

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Plotly é uma biblioteca de visualização de dados do Python, e que permite a criação e publicação de gráficos interativos, bonitos e de altíssima qualidade.

Matplotlib é a biblioteca mais conhecida pela comunidade, porém apresenta diversas limitações – reflexo da época em que foi concebida.

Gráficos Candlestick com Plotly e Python

No entanto, em um tempo onde a capacidade de se criar gráficos que “contam história” vem ganhando cada vez mais importância (quantas vezes você não escutou falar sobre Storytelling?!), vale a pena conhecer outras armas para o seu arsenal.

Se antes era complicado construir gráficos atraentes, modernos e dinâmicos, hoje as dificuldades foram reduzidas drasticamente com o Plotly.

O que é Plotly?

Plotly é um projeto open-source que suporta mais de 40 tipos de gráficos, e abrange desde simples gráficos de linhas até candlesticks ou mapas.

Feito sobre a biblioteca JavaScript plotly.js, o plotly.py permite que seus gráficos possam ser incorporados à Jupyter notebooks ou páginas HTML estáticas.

Se você usa o ambiente cloud Google Colab, o Plotly já vem instalado por padrão. Agora, se você precisar instalar o pacote em seu próprio ambiente, basta executar pip install plotly no Terminal.

Criando um Gráfico de Candlestick com Plotly

Para te mostrar como é fácil criar gráficos com Plotly (mesmo aqueles mais complexos), vou plotar um Gráfico de Candlestick para a ação do Banco do Brasil (BBAS3).

Gráficos de Candlestick são muito usados no mercado financeiro, e permitem identificar rapidamente os preços de abertuda, fechamento, máxima e mínima.

Gráficos de candlestick para Python com Plotly

Ou seja, para conseguir criá-lo com o Plotly você precisa ter pelo menos essas quatro informações para cada ponto no eixo y.

Esse tipo de visualização também precisa que uma unidade de tempo seja passada para o eixo x. Neste caso, como os candlesticks são diários, cada tick vai representar exatamente um dia.

Pelo site Yahoo Finance, baixei os dados da ação ordinária do Banco do Brasil (BBAS3) em formato csv e disponibilizei o arquivo neste link.

A primeira etapa é definir quais são os dados e atributos de interesse (trace1). Veja também que eu informei explicitamente que desejava um Candlestick Chart por meio de 'type': 'candlestick'.

Todas as informações relativas ao layout são passadas em um outro dicinário (layout), e passadas mais adiante quando eu instanciar um objeto Figure.

Plotly foi tão bem arquitetado que se torna fácil acrescentar informações extras ou acrescentar outros gráficos. Veja por exemplo como eu adiciono um gráfico com a média móvel para 30 dias.

Basicamente, calculei a média para 30 dias, criei um novo dicionário com as informações do novo plot trace2 e acrescentei esses dados na lista data = [trace1, trace2].

Plotly vs. Matplotlib

Como eu disse, o Matplotlib foi a biblioteca pioneira para visualização de dados em Python, e ainda é a mais usada por todos os cientistas de dados e programadores Python.

No entanto, o Matplotlib oferece muitas limitações e não possui diversos gráficos utilizados hoje em dia na área de Data Science.

Exemplo de gráficos 3D no Plotly com Python
Exemplo de um gráfico 3D usando Plotly.

Já o Plotly trouxe uma proposta inovadora, facilidade na hora de plotar gráficos e um visual bem mais atraente – e isso ajuda muito para o seu storytelling.

Apesar de ter uma sintaxe completamente diferente daquela que estamos acostumados, depois que você aprendê-la, nunca mais vai querer voltar atrás!

Hey,

o que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Entre para nossa lista e receba conteúdos exclusivos e com prioridade

Junte-se a mais de 9.500 pessoas

FAQ e Curso
Curso Data Science
Carlos Melo