Criando Rótulos de Marcação Personalizados para Barras de Cores no Matplotlib

Beginner

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

Introdução

Na visualização de dados, as barras de cores (colorbars) são usadas para representar a gama de valores de um conjunto de dados usando cores. Matplotlib é uma biblioteca Python para criar uma variedade de visualizações, incluindo barras de cores. Neste laboratório, aprenderemos como personalizar os rótulos de marcação (tick labels) em uma barra de cores no Matplotlib.

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 e fixar o estado aleatório

Primeiramente, precisamos importar as bibliotecas necessárias e fixar o estado aleatório para reprodutibilidade. Usaremos numpy para gerar alguns dados aleatórios, matplotlib.pyplot para criar visualizações e cm de matplotlib para definir os mapas de cores (color maps).

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn

from matplotlib import cm

## Fixing random state for reproducibility
np.random.seed(19680801)

Criar um gráfico com uma barra de cores vertical

Começaremos criando um gráfico com uma barra de cores vertical. Geraremos alguns dados aleatórios usando randn de numpy e limitaremos os valores ao intervalo de -1 a 1. Em seguida, criaremos um objeto AxesImage usando imshow e o mapa de cores coolwarm. Finalmente, adicionaremos um título ao gráfico.

## Make plot with vertical (default) colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.coolwarm)
ax.set_title('Gaussian noise with vertical colorbar')

Personalizar os rótulos dos ticks na barra de cores vertical

Em seguida, personalizaremos os rótulos dos ticks na barra de cores vertical. Criaremos uma barra de cores usando colorbar e especificaremos as localizações dos ticks usando o parâmetro ticks. Em seguida, definiremos os rótulos dos ticks usando set_yticklabels no atributo ax do objeto da barra de cores.

## Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['< -1', '0', '> 1'])  ## vertically oriented colorbar

Criar um gráfico com uma barra de cores horizontal

Agora criaremos um gráfico com uma barra de cores horizontal. Seguiremos os mesmos passos do Passo 2, mas desta vez usaremos o mapa de cores afmhot e definiremos a orientação da barra de cores como horizontal.

## Make plot with horizontal colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.afmhot)
ax.set_title('Gaussian noise with horizontal colorbar')

cbar = fig.colorbar(cax, ticks=[-1, 0, 1], orientation='horizontal')
cbar.ax.set_xticklabels(['Low', 'Medium', 'High'])  ## horizontal colorbar

Exibir o gráfico

Finalmente, exibiremos o gráfico usando plt.show().

plt.show()

Resumo

Neste laboratório, aprendemos como personalizar os rótulos de marcação (tick labels) em uma barra de cores no Matplotlib. Primeiro, criamos um gráfico com uma barra de cores vertical e personalizamos os rótulos de marcação usando set_yticklabels. Em seguida, criamos um gráfico com uma barra de cores horizontal e personalizamos os rótulos de marcação usando set_xticklabels. A personalização dos rótulos de marcação em uma barra de cores pode ajudar a tornar suas visualizações mais informativas e fáceis de ler.