fbpx
Sigmoidal
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • English
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados

Como criar gráficos interativos usando Plotly e Python

Carlos Melo por Carlos Melo
janeiro 23, 2020
em Blog, Data Science, Python, Tutoriais
2
64
COMPARTILHAMENTOS
2.1k
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

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.

# importar bibliotecas
import pandas as pd
import plotly.graph_objects as go
# importar os dados do BBAS3 csv->dataframe
df = pd.read_csv("https://raw.githubusercontent.com/carlosfab/curso_data_science_na_pratica/master/modulo_02/BBAS3.SA.csv")
# criar um gráfico interativo com o Plotly
# gráfico bbas3 (candlestick
trace1 = {
    'x': df.Date,
    'open': df.Open,
    'close': df.Close,
    'high': df.High,
    'low': df.Low,
    'type': 'candlestick',
    'name': 'BBAS3',
    'showlegend': False
}
# informar todos os dados e gráficos em uma lista
data = [trace1]
# configurar o layout do gráfico
layout = go.Layout({
    'title': {
        'text': 'Gráfico de Candlestick - BBAS3',
        'font': {
            'size': 20
        }
    }
})
# instanciar objeto Figure e plotar o gráfico
fig = go.Figure(data=data, layout=layout)
fig.show()

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.

# calcular a média de 30 dias
avg_30 = df.Close.rolling(window=30, min_periods=1).mean()
# criar um gráfico interativo com o Plotly
# gráfico bbas3 (candlestick
trace1 = {
    'x': df.Date,
    'open': df.Open,
    'close': df.Close,
    'high': df.High,
    'low': df.Low,
    'type': 'candlestick',
    'name': 'BBAS3',
    'showlegend': False
}
# média de 30 dias (linha)
trace2 = {
    'x': df.Date,
    'y': avg_30,
    'type': 'scatter',
    'mode': 'lines',
    'line': {
        'width': 1,
        'color': 'blue'
    },
    'name': 'Média (30 dias)'
}
# informar todos os dados e gráficos em uma lista
data = [trace1, trace2]
# configurar o layout do gráfico
layout = go.Layout({
    'title': {
        'text': 'Gráfico de Candlestick - BBAS3',
        'font': {
            'size': 20
        }
    }
})
# instanciar objeto Figure e plotar o gráfico
fig = go.Figure(data=data, layout=layout)
fig.show()

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!

Compartilhar4Compartilhar26Enviar
Post Anterior

Como salvar seu modelo de Machine Learning

Próximo Post

Como Analisar Ações da Bolsa com Python

Carlos Melo

Carlos Melo

Engenheiro de Visão Computacional graduado em Ciências Aeronáuticas pela Academia da Força Aérea (AFA) e Mestre em Engenharia Aeroespacial pelo Instituto Tecnológico de Aeronáutica (ITA).

Relacionado Artigos

Green Card aprovado por habilidades extraordinárias em Data Science
Blog

Green Card aprovado por habilidades extraordinárias em Data Science

por Carlos Melo
julho 14, 2025
O Que é Amostragem e Quantização no Processamento de Imagens
Artigos

O Que é Amostragem e Quantização no Processamento de Imagens

por Carlos Melo
junho 20, 2025
Curso de Pós-Graduação em Data Science
Data Science

Vale a pena fazer uma Pós-Graduação em Data Science?

por Carlos Melo
janeiro 20, 2025
Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”
Livros

Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”

janeiro 18, 2025
Carlos Melo e Sérgio Sacani – Ciência Sem Fim
Youtube

Carlos Melo e Sérgio Sacani – Ciência Sem Fim

por Carlos Melo
janeiro 16, 2025
Próximo Post
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

Comentários 2

  1. Cristiano says:
    6 anos atrás

    Maravilhoso.

    Responder
  2. Rafael says:
    5 anos atrás

    Como seria um cruzamento de médias no gráfico de 1 min?

    Responder

Deixe um comentário Cancelar resposta

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

Pós-Graduação em Data Science Pós-Graduação em Data Science Pós-Graduação em Data Science

Mais Populares

  • Introdução ao MediaPipe e Pose Estimation

    Introdução ao MediaPipe e Pose Estimation

    495 compartilhamentos
    Compartilhar 198 Tweet 124
  • ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

    414 compartilhamentos
    Compartilhar 166 Tweet 104
  • Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

    388 compartilhamentos
    Compartilhar 155 Tweet 97
  • Fundamentos da Formação da Imagem

    173 compartilhamentos
    Compartilhar 69 Tweet 43
  • O Que é Amostragem e Quantização no Processamento de Imagens

    11 compartilhamentos
    Compartilhar 4 Tweet 3
  • Em Alta
  • Comentários
  • Mais Recente
Como Tratar Dados Ausentes com Pandas

Como Tratar Dados Ausentes com Pandas

agosto 13, 2019
Como usar o DALL-E 2 para gerar imagens a partir de textos

Como usar o DALL-E 2 para gerar imagens a partir de textos

dezembro 25, 2022
Introdução ao MediaPipe e Pose Estimation

Introdução ao MediaPipe e Pose Estimation

julho 15, 2023

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

abril 10, 2023
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

15
Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

13
Como Aprender Data Science?

Como Aprender Data Science?

9
Qual o Cenário de Data Science no Brasil hoje?

Qual o Cenário de Data Science no Brasil hoje?

8
Green Card aprovado por habilidades extraordinárias em Data Science

Green Card aprovado por habilidades extraordinárias em Data Science

julho 14, 2025
O Que é Amostragem e Quantização no Processamento de Imagens

O Que é Amostragem e Quantização no Processamento de Imagens

junho 20, 2025
DeepSeek vazamento de dados de usuários

DeepSeek: Vazamento de dados expõe dados de usuários

fevereiro 1, 2025
DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA

DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA?

janeiro 25, 2025

Seguir

    Instagram Youtube LinkedIn Twitter
    Sigmoidal

    O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

    Seguir no Instagram

    Categorias

    • Aeroespacial
    • Artigos
    • Blog
    • Carreira
    • Cursos
    • Data Science
    • Deep Learning
    • Destaques
    • Entrevistas
    • IA Generativa
    • Livros
    • Machine Learning
    • Notícias
    • Python
    • Teoria
    • Tutoriais
    • Visão Computacional
    • Youtube

    Navegar por Tags

    camera calibration carreira chatgpt cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning gpt-3 histograma IA generativa image formation inteligência artificial jupyter kaggle keras machine learning matplotlib mnist nft openai opencv overfitting pandas profissão python redes neurais redes neurais convolucionais regressão linear regressão logística salário scikit-learn seaborn sklearn tensorflow titanic tutorial visão computacional vídeo youtube árvore de decisão

    © 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.

    Welcome Back!

    Login to your account below

    Forgotten Password?

    Retrieve your password

    Please enter your username or email address to reset your password.

    Log In

    Add New Playlist

    Sem Resultado
    Ver Todos Resultados
    • Home
    • Cursos
    • Pós-Graduação
    • Blog
    • Sobre Mim
    • Contato
    • English

    © 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.