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:
- Importamos as Bibliotecas Necessárias
- Criamos o Conjunto de Dados
- Criamos Rótulos de Linha
- Criamos um Esquema de Cores
- Criamos um Gráfico de Barras Empilhadas Verticalmente
- Invertemos as Cores e os Rótulos de Texto
- Adicionamos a Tabela ao Gráfico
- Ajustamos o Layout do Gráfico
- Adicionamos Rótulos de Eixo e Título
- Mostramos o Gráfico.