Blog

Postado em em 20 de junho de 2022

Gráfico Dinâmico no Python – Impressione Usando Bar Chart Race

Você já sabe como criar gráfico dinâmico no Python? Então eu vou te mostrar como impressionar com o bar chart race na sua apresentação!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Criando Gráficos Dinâmicos com Bar Chart Race

Eu quero te mostrar como criar gráficos dinâmicos em Python para impressionar nas suas apresentações.

Vamos utilizar o Bar Chart Race no Python para criar esse gráfico dinâmico e deixar suas apresentações muito mais visuais!

Criando Gráfico Dinâmico no Python

Para a criação desse gráfico nós vamos utilizar o Bar Chart Race e é sempre importante que você leia a documentação das ferramentas que está utilizando, pois elas vão ter informações importantes para a utilização.

Gráfico dinâmico no Python
Gráfico dinâmico no Python

Esse é o exemplo que vamos criar, mas o gráfico vai estar em movimento, só que para que esse gráfico funcione as informações que temos de países precisam estar em colunas.

Mas como saber isso? Documentação! Por isso é muito importante que você leia a documentação das ferramentas, para saber o que precisa ter ou fazer para que ela funcione de forma correta.

Importação e ajuste da base de dados
Importação e ajuste da base de dados

Aqui nós vamos importar a base de dados com a biblioteca Pandas e vamos fazer o ajuste para transformar os dados de linhas para colunas para que o gráfico funcione normalmente.

IMPORTANTE: Lembrando que para utilizar esse gráfico vamos precisar fazer a instalação dele, então pode escrever pip install bar_chart_race no terminal ou no prompt dependendo do edito de Python que estiver utilizando.

import bar_chart_race as bcr
df = bcr.load_dataset('covid19_tutorial')
bcr.bar_chart_race(
    df=df,
    filename='covid19_horiz.mp4',
    orientation='h',
    sort='desc',
    n_bars=6,
    fixed_order=False,
    fixed_max=True,
    steps_per_period=10,
    interpolate_period=False,
    label_bars=True,
    bar_size=.95,
    period_label={'x': .99, 'y': .25, 'ha': 'right', 'va': 'center'},
    period_fmt='%B %d, %Y',
    period_summary_func=lambda v, r: {'x': .99, 'y': .18,
                                      's': f'Total deaths: {v.nlargest(6).sum():,.0f}',
                                      'ha': 'right', 'size': 8, 'family': 'Courier New'},
    perpendicular_bar_func='median',
    period_length=500,
    figsize=(5, 3),
    dpi=144,
    cmap='dark12',
    title='COVID-19 Deaths by Country',
    title_size='',
    bar_label_size=7,
    tick_label_size=7,
    shared_fontdict={'family' : 'Helvetica', 'color' : '.1'},
    scale='linear',
    writer=None,
    fig=None,
    bar_kwargs={'alpha': .7},
    filter_column_colors=False)

Esse é o código que vamos utilizar para criar esse gráfico dinâmico, lembrando que esse código base está disponível na documentação da ferramenta.

Como temos dentro de filename o nome covid19_horiz.mp4 vamos ter um arquivo de vídeo criado na pasta com esse gráfico.

Agora caso você queira que esse gráfico dinâmico apareça dentro do editor pode mudar o conteúdo de filename para none.

ERROS E AVISOS

É possível que você se depare com alguns avisos e erros ao utilizar essa biblioteca, então vamos as soluções desses problemas!

Primeiro vamos a instalação de uma biblioteca: pip install ffmpeg-python. Em seguida podemos utilizar os códigos abaixo só para evitar que o Python mostre esses avisos (não são erros só avisos).

import bar_chart_race as bcr
import warnings
warnings.filterwarnings("ignore")
df = bcr.load_dataset('covid19_tutorial')

Além disso é possível que você se depare com o seguinte erro:

Erro ao executar o código
Erro ao executar o código

Onde ele já te dá um link para fazer o download que precisa (basta clicar no link e remover o ponto que está no final para acessar o site).

Aqui temos o passo a passo para resolução desse erro.

  • Vá até https://www.ffmpeg.org/download.html
  • Selecione o seu sistema operacional (no meu caso eu selecionei Windows) e clique em “Windows builds from BtbN”
  • Procure pelo arquivo zip, faça a extração (renomeie caso necessário) e copie para a pasta do seu sistema operacional (C:)
  • Vá até as variáveis de ambiente (procure no menu iniciar do seu computador), clique em variáveis de ambiente
  • Dê um duplo clique em Path
  • Clique em novo e cole o caminho da pasta bin (que fica dentro da pasta que você extraiu para o C:)
  • Depois você terá que fechar o seu editor de Python por completo (se for o Jupyter feche tudo mesmo) depois abra e tudo vai funcionar normalmente!

Caso você prefira pode acessar o link abaixo para ver o vídeo onde fazemos a resolução desse problema, pois pode ser mais fácil a visualização em vídeo (já está no minuto onde começamos a explicação 6:45).

Feito isso você pode alterar os alguns elementos para colocar a nossa base de dados dentro desse código.

bcr.bar_chart_race(
    df=base,
    filename=None,
    orientation='h',
    sort='desc',
    n_bars=6,
    fixed_order=False,
    fixed_max=True,
    steps_per_period=10,
    interpolate_period=False,
    label_bars=True,
    bar_size=.95,
    period_label={'x': .99, 'y': .25, 'ha': 'right', 'va': 'center'},
    period_fmt='%B %d, %Y',
    period_summary_func=lambda v, r: {'x': .99, 'y': .18,
                                      's': f'Total de venda: {v.nlargest(6).sum():,.0f}',
                                      'ha': 'right', 'size': 8, 'family': 'Courier New'},
    perpendicular_bar_func='median',
    period_length=500,
    figsize=(5, 3),
    dpi=144,
    cmap='dark12',
    title='Venda por categoria',
    title_size='',
    bar_label_size=7,
    tick_label_size=7,
    shared_fontdict={'family' : 'Helvetica', 'color' : '.1'},
    scale='linear',
    writer=None,
    fig=None,
    bar_kwargs={'alpha': .7},
    filter_column_colors=False)  

E pronto, agora é só executar que tudo vai funcionar normalmente!

Gráfico de corrida em barras com os nossos dados
Gráfico de corrida em barras com os nossos dados

Conclusão – Gráfico Dinâmico no Python

Nessa aula eu te mostrei como criar um gráfico dinâmico dentro do Python para impressionar nas suas apresentações!

O único problema é essa questão do erro que pode acontecer, mas é provável que ele seja corrigido pelos criadores, mas caso aconteça você já sabe como corrigir para criar seu gráfico!

Hashtag Treinamentos

Para acessar outras publicações de Ciência de Dados, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador