Função Tabela Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, aprenderemos como usar a função table do Matplotlib para exibir uma tabela dentro de um gráfico. Usaremos um conjunto de dados de exemplo para visualizar as perdas incorridas por diferentes desastres naturais ao longo dos anos.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar as Bibliotecas Necessárias

Começaremos importando as bibliotecas necessárias para o projeto. Usaremos a biblioteca Matplotlib para criar a tabela.

import matplotlib.pyplot as plt
import numpy as np

Criar o Conjunto de Dados

Em seguida, criaremos um conjunto de dados de exemplo para visualizar as perdas incorridas por diferentes desastres naturais ao longo dos anos. Usaremos uma lista bidimensional para armazenar os dados e uma tupla para armazenar os nomes das colunas.

data = [[ 66386, 174296,  75131, 577908,  32015],
        [ 58230, 381139,  78045,  99308, 160454],
        [ 89135,  80552, 152558, 497981, 603535],
        [ 78415,  81858, 150656, 193263,  69638],
        [139361, 331509, 343164, 781380,  52269]]

columns = ('Freeze', 'Wind', 'Flood', 'Quake', 'Hail')

Criar Rótulos de Linha

Criaremos rótulos de linha para o conjunto de dados para representar o número de anos para os quais a perda foi registrada. Usaremos uma compreensão de lista (list comprehension) para criar os rótulos de linha.

rows = ['%d year' % x for x in (100, 50, 20, 10, 5)]

Criar Esquema de Cores

Criaremos um esquema de cores para a tabela usando a função plt.cm.BuPu. Usaremos tons pastéis de azul e roxo para as linhas.

colors = plt.cm.BuPu(np.linspace(0, 0.5, len(rows)))

Criar Gráfico de Barras Empilhadas Verticais

Criaremos um gráfico de barras empilhadas verticais usando a função plt.bar para representar a perda incorrida por diferentes desastres naturais ao longo dos anos. Usaremos um loop for para iterar sobre cada linha de dados e plotar as barras.

n_rows = len(data)

index = np.arange(len(columns)) + 0.3
bar_width = 0.4

y_offset = np.zeros(len(columns))

cell_text = []
for row in range(n_rows):
    plt.bar(index, data[row], bar_width, bottom=y_offset, color=colors[row])
    y_offset = y_offset + data[row]
    cell_text.append(['%1.1f' % (x / 1000.0) for x in y_offset])

Inverter Cores e Rótulos de Texto

Inverteremos as cores e os rótulos de texto da tabela para exibir o último valor no topo usando a função [::-1].

colors = colors[::-1]
cell_text.reverse()

Adicionar Tabela ao Gráfico

Adicionaremos uma tabela à parte inferior do gráfico usando a função plt.table. Passaremos o texto da célula, os rótulos das linhas, as cores das linhas e os rótulos das colunas como parâmetros para a função.

the_table = plt.table(cellText=cell_text,
                      rowLabels=rows,
                      rowColours=colors,
                      colLabels=columns,
                      loc='bottom')

Ajustar o Layout do Gráfico

Ajustaremos o layout do gráfico para abrir espaço para a tabela usando a função plt.subplots_adjust.

plt.subplots_adjust(left=0.2, bottom=0.2)

Adicionar Rótulos de Eixo e Título

Adicionaremos rótulos de eixo e um título ao gráfico usando as funções plt.ylabel, plt.yticks, plt.xticks e plt.title.

values = np.arange(0, 2500, 500)
value_increment = 1000

plt.ylabel(f"Loss in ${value_increment}'s")
plt.yticks(values * value_increment, ['%d' % val for val in values])
plt.xticks([])
plt.title('Loss by Disaster')

Mostrar o Gráfico

Exibiremos o gráfico usando a função plt.show.

plt.show()

Resumo

Neste laboratório, aprendemos como usar a função de tabela do Matplotlib para exibir uma tabela dentro de um gráfico. Usamos um conjunto de dados de exemplo para visualizar as perdas incorridas por diferentes desastres naturais ao longo dos anos. Seguimos os seguintes passos:

  1. Importamos as Bibliotecas Necessárias
  2. Criamos o Conjunto de Dados
  3. Criamos Rótulos de Linha
  4. Criamos um Esquema de Cores
  5. Criamos um Gráfico de Barras Empilhadas Verticalmente
  6. Invertemos as Cores e os Rótulos de Texto
  7. Adicionamos a Tabela ao Gráfico
  8. Ajustamos o Layout do Gráfico
  9. Adicionamos Rótulos de Eixo e Título
  10. Mostramos o Gráfico.