Business Intelligence Data Analytics Data Science Estatística Python

Visualização de Dados com Bokeh Python

visualização de dados com Bokeh

Fala galera do mundo dos dados! A linguagem Python é muito utilizada para análise de dados. 📊🚀🎲3️⃣📈. Aqui vou mostrar como criar visualização de dados com Bokeh, umas das 5 libs apresentadas no artigo bibliotecas para visualização de dados em Python.

Você vai aprender a gerar os principais gráficos para visualização de dados com Matplotlib:

  1. Gráfico de Barra
  2. Gráfico de Linha
  3. Gráfico de Área
  4. Gráfico de Pizza
  5. Gráfico de Dispersão

Agora é hora de criar as visualizações de dados ao cubo. Para começar faremos a carga das bases de dados para utilizar nas visualizações.

Bases de Dados para Visualização

Primeiramente precisamos da base de dados, e utilizaremos conjuntos de dados disponíveis na biblioteca Seaborn. O ideal para você praticar, é utilizar também outros conjuntos de dados. Você pode conseguir conjuntos de dados facilmente em plataformas como o Kaggle ou o Dados Abertos.

Aqui utilizaremos duas bases de dados, o primeiro é o conjunto de dados mpg. Que contém informações sobre carros. A importação é feita com o código Python abaixo.

# base de dados de carros
mpg = sns.load_dataset('mpg')
mpg.head(2)

Na imagem abaixo um exemplo dos dados carregados.

O segundo é o conjunto de dados flights. Que contém informações sobre voos ao longo dos anos. O código Python abaixo fará a importação.

# base de dados de voos
flights = sns.load_dataset('flights')
flights.head(2)

Confere os primeiros registros dos dados na imagem abaixo.

Com os dados carregados podemos partir para a construção dos gráficos.

Gráfico de Barra Bokeh

O primeiro exemplo com o Bokeh é com o gráfico mais tradicional e conhecido por todos, o gráfico de barras. O código Python abaixo mostra como criar um gráfico de barras com o Matplotlib.

country = list(mpg['origin'].value_counts().index)
counts = mpg['origin'].value_counts().values

p = figure(x_range=country, width=400, height=400)
p.vbar(x=country, top=counts, width=0.9)
show(p)

A função vbar é responsável pela criação e a função show pela exibição em tela. Confere o gráfico de barras gerado na imagem abaixo.

Do gráfico de barras, vamos ao gráfico e linhas.

Gráfico de Linha Bokeh

É hora do gráfico de linha com o Bokeh, utilizado para analisar dados ao longo do tempo. Antes de gerar o gráfico fazermos um pivot dos dados com o código abaixo.

flights_pivot = flights.pivot('year', 'month', 'passengers')

O código Python abaixo mostra como criar um gráfico de linha com o Matplotlib.

p = figure(width=400, height=400)
p.vline_stack(['Jan','Feb','Mar',
              'Apr','May','Jun',
              'Jul','Aug','Sep',
              'Oct','Nov','Dec'],
             color=['black','blue','green',
                    'red','pink','brown',
                    'gray','yellow','purple',
                    'orange','navy','firebrick'],
             x='year',
             source=flights_pivot)
show(p)

É a função vline_stack que cria o gráfico de linha. Confere o resultado na imagem abaixo.

Das linhas as áreas.

Gráfico de Área Bokeh

Similar ao gráfico de linha, o gráfico de área traz além da evolução ao longo do tempo, a proporção de cada elemento em relação ao todo. Com o código a seguir será produzido o gráfico de área.

p = figure(width=400, height=400)
p.varea_stack(['Jan','Feb','Mar',
              'Apr','May','Jun',
              'Jul','Aug','Sep',
              'Oct','Nov','Dec'],
             color=['black','blue','green',
                    'red','pink','brown',
                    'gray','yellow','purple',
                    'orange','navy','firebrick'],
             x='year',
             source=flights_pivot)
show(p)

A imagem abaixo é o resultado do gráfico de área, onde a função varea_stack gera esse tipo de gráfico.

Seguimos da área até uma pizza!!! 

Gráfico de Pizza Bokeh

Agora o gráfico mais amado e odiado. Alguns repudiam a utilização desse tipo de gráfico, eu prefiro o bom senso de quando utilizar (caso não tenha outro jeito 😁), então use com moderação. Mas caso precise, o código Python abaixo irá te auxiliar.

from bokeh.transform import cumsum

data = mpg['origin'].value_counts().reset_index(name='value').rename(columns={'index': 'country'})
data['angle'] = data['value']/data['value'].sum() * 2*3.14159265359
data['color'] = ['blue','green','red']

p = figure(width=400, height=400)
p.wedge(x=0, y=1, radius=0.4,
       start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),
       line_color="white", fill_color='color', legend_field='country', source=data)
show(p)

E esse é o seu resultado! A pizza é toda sua.

Da pizza à dispersão! 🎲 

Gráfico de Dispersão Bokeh

Aqui vamos a uma análise bivariada, ou seja, analisando duas variáveis. A ideia é estender como as variáveis se relacionam, e se existe uma correlação. Para tal visual temos o código abaixo.

p = figure(width=400, height=400)
p.scatter(x='horsepower',
         y='acceleration',
         source=mpg)
show(p)

Na sequência o resultado da função scatter, com o visual do gráfico de dispersão.

E então, estes são os principais gráficos para visualização de dados com Bokeh Python que vão ajudar e muito na construção do seu dataviz. Na sequência, teremos outras bibliotecas para visualização de dados em Python. Não perca os próximos conteúdos! Então, fica ligado aqui nas novidades com a nossa Newsletter. Um abraço e até a próxima!!!

Conteúdos ao Cubo

Se você curtiu o conteúdo, aqui no Dados ao Cubo tem muito mais. Então, deixo algumas sugestões de conteúdos que você pode gostar. Sempre falando sobre o mundo dos dados!

Finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados.

Gostou? Compartilhe!

Deixe um comentário

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