Skip links

Plotly – Dê vida aos seus dados

Cansado de imagens estáticas em suas visualizações de dados? E se pudéssemos torná-las interativas?

Durante meu mestrado trabalhei muito com uma biblioteca javascript para visualização de dados chamada D3.js (abordarei mais detalhes dela em um post futuro). Em resumo, ela permite ‘inserir’ seus dados no DOM (Document Object Model) e manipulá-lo a partir desses dados. A biblioteca permite criar visualizações interativas (normalmente usando elementos svg). Abaixo um exemplo de predições da nfl 2015.

Predições NFL 2015 (Fonte)

Quando comecei a estudar ciência de dados neste último ano (e me fascinando pela área), um detalhe acabava me frustrando um pouco; como obter mais insights visuais dos dados se as visualizações geradas não permitem interação?

Matplotlib

Biblioteca python para visualização de dados, gerando imagens com qualidade, e com uma gama enorme de diferentes tipos de gráficos (acessando os exemplos disponibilizados já é possível ter uma ideia do quão poderosa é essa biblioteca). A grande maioria dos cursos em ciência de dados apresentam esta ferramenta para uso na geração de visualizações dos dados trabalhados. E não é por menos; é uma excelente ferramenta, com inúmeras possibilidades de gráficos e uma vasta documentação.

No entanto, algumas visualizações tornam-se complexas devido à necessidade de especificar muitos detalhes na geração e, além disso, as imagens geradas não possibilitam interação. Se você procura uma alternativa ao Matplotlib, o Plotly pode vir a ser sua escolha.

Nota: Não é necessário abandonar o Matplotlib, até porque ele oferece muitas possibilidades. Mas se necessita algo mais interativo, o Plotly é uma alternativa.

Introdução ao Plotly

Plotly é uma empresa que desenvolve ferramentas de visualização, incluindo a biblioteca Python de mesmo nome que iremos abordar nesse artigo. Ela é construída em cima da biblioteca d3.js (e por isso toda a interatividade presente na biblioteca). A grande vantagem dessa interatividade é permitir que você possa selecionar uma área de interesse, dar zoom, filtrar, ou seja, interagir de fato com os dados.

Ela é uma biblioteca alto nível, utilizando programação declarativa, ou seja, você escreve código dizendo o que você quer, em vez de como fazer. Em resumo, ela lhe permite construir mais com menos. Se não acredita em mim, olhe alguns exemplos disponíveis e nas poucas linhas de código necessários para criá-los, como a visualização a seguir:

Exemplo de gráfico em Plotly. [Fonte]

Para utilizar a biblioteca, precisamos apenas instalá-la com o pip

pip install plotly

e importá-la em nossa IDE (eu gosto de utilizar o Jupyter Notebook para trabalhar com os dados em Python). O Plotly lhe permite trabalhar com suas visualizações online mas, para isso, é necessário que se registre (a conta free lhe permite até 25 gráficos).

import plotly

# Utilize sua conta
plotly.tools.set_credentials_file(username='SEU_USUARIO', 
                                  api_key='SUA_CHAVE')

Também é possível trabalhar em modo offline

import plotly.plotly as py
import plotly.graph_obs as go

# Offline
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)

Esse modo abre sempre a possibilidade de exportar (lado inferior direito), podendo editar ou compartilhar nossos gráficos.

Este artigo apenas apresenta esta nova ferramenta, sem entrar em detalhes dela. Ainda estou explorando suas possibilidades, e começando a usá-la em alguns gráficos. Pretendo fazer um novo post em breve com alguns resultados e os códigos usados para atingí-los. Aproveite e explore-a também 🙂

Concluindo

Se dizem que a primeira impressão é a que fica, então Plotly veio para ficar. Ainda não vi nem a ponta do iceberg do framework, e muito do que pode ser feito com Plotly ainda precisa ser descoberto mas, a primeira impressão é agradável. Ele torna a visualização uma tarefa muito mais divertida e nos faz alcançar o que a visualização propõe: compreender e obter insights visualmente dos nossos dados.

Leave a comment

Name*

Website

Comment