Foto do Chinese American Museum em um dia ensolarado. Um prédio de tijolos à vista com portas na core verde.
Fonte da imagem

Visualizando as visitas ao Chinese American Museum: uma introdução ao gráfico de linha com Plotly

Francisco Foz
4 min readNov 1, 2022

Entender qual é a quantidade de visitas em um museu pode ser bastante relevante para ter informações de sazonalidade, comparação de acordo com os eventos e exposições realizadas…

Ter uma visão mais ampla e clara do volume do fluxo de pessoas.

Mas como gerar essa visualização com Python?

Os primeiros passos em visualização de dados com Python, geralmente são com Matplotlib e Seaborn, mas em um próximo momento você pode querer ter visualizações mais interativas.

A biblioteca Plotly é uma boa escolha.

No texto de hoje, falarei com você pode criar um gráfico de linha simples com o Plotly.

Bora lá?!

Gif em preto e branco de várias pessoas entrando em um museu.

Sumário

Visualizando com Pandas

Visualizando com o Plotly express

Visualizando com o Plotly graph_objects

Considerações finais

Visualizando com Pandas

Os dados utilizados nesse texto estão disponíveis no Kaggle:

Você também pode brincar com eles ou com outros museus disponíveis.

Após uma seleção nos dados você pode plotar com o Pandas:

chinese_american_museu.plot(x=’date’,y=’visits’,title=’Quantidade de visitas ao Chinese American Museum’)
Foto para ilustrar o gráfico criado com matplotlib.

O Pandas automaticamente usa o matplotlib para criar o gráfico e vem da sua forma mais “crua” para que você melhore a visualização.

Mas você também pode modificar qual é a biblioteca utilizada, com o comando:

pd.options.plotting.backend = ‘plotly’chinese_american_museu.plot(x=’date’,y=’visits’,title=’Quantidade de visitas ao Chinese American Museum’)

E automaticamente ele já irá usar a outra biblioteca:

Foto para ilustrar o gráfico criado com Plotly pelo Pandas.

Hum, mas os dados estão meio esquisitos né?!

Isso é porque o Plotly utilizará a ordem que você passou para ele.

Para isso você precisará ordenar antes.

chinese_american_museu.sort_values(by=’date’,inplace=True)

Pronto!

Gif criado para ilustrar o gráfico criado através do Pandas para com a ordenação correta.

Visualizando com o Plotly express

Mas talvez você não precisou utilizar o pandas para manipular os dados e queira apenas visualizar eles de forma rápida.

Para isso, você pode utilizar o plotly.express

Um módulo dentro do Plotly que com apenas uma função, você pode criar gráficos de forma mais simples.

Você pode importar ele com o apelido de px:

import plotly.express as px

E criar um gráfico de linha:

px.line(chinese_american_museu, x=’date’, y=’visits’,title=’Quantidade de visitas ao Chinese American Museum’)
Foto do mesmo gráfico criado, mas com o outro método.

O resultado será o mesmo.

Visualizando com o plotly.graph_objects

Nem sempre o plotly express poderá resolver seus problemas.

Quanto mais customizações e domínio sobre sua visualização, maior a quantidade de detalhes e sobre o código que você precisará desenvolver.

Por isso, você pode utilizar o módulo .graph_objects.

Você importa ele:

import plotly.graph_objects as go

Insere todos os parâmetros que precisa para que seja desenhado cada elemento no gráfico:

fig = go.Figure()fig.add_trace(go.Scatter(x=chinese_american_museu[‘Month’], y=chinese_american_museu[‘Chinese American Museum’]))annotations = []annotations.append(dict(xref=’paper’, yref=’paper’, x=0.0, y=1.15,xanchor=’left’, yanchor=’bottom’,text=’Quantidade de visitas ao Chinese American Museum’,font=dict(family=’Arial’,size=25,color=’black’),showarrow=False))fig.update_layout(annotations=annotations)fig.show()
Foto do mesmo gráfico criado, para com o terceiro método.

O gráfico de linha no Plotly na realidade são gráficos de dispersão conectados e você pode ver isso quando plota dessa forma.

Considerações finais

Gráficos estáticos são bons, mas em um mundo acostumado com gráficos dinâmicos (como com o Power BI, Tableau, Data Studio…) se torna importante correr atrás para aprender novas ferramentas com Python.

Eu acho bastante trabalhoso criar visualizações de dados com Python, mas dá uma satisfação bem grande quando você vai aprendendo e entendendo melhor as bibliotecas.

Essa foi uma bem pequena amostra do que a biblioteca pode fazer. O Plotly tem ainda muito conteúdo para eu explorar e entender, mas acho muito legal a ideia.

E você, conhece mais sobre o Plotly? Tem alguma dica que pode me dar sobre ela?

Ou você nunca tinha visto ela? Tem alguma dúvida sobre ela?

Deixe nos comentários e vamos conversar mais sobre.

Se você chegou até aqui e curtiu, dê palmas, compartilhe e se inscreva para me acompanhar.

Ainda há muito a se explorar.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Francisco Foz
Francisco Foz

Written by Francisco Foz

Bibliotecário | Analista de dados | Disseminando informações para produzir conhecimento.

No responses yet

Write a response