Matplotlib Barra de Cores em Eixos Inseridos

Beginner

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

Introdução

Este tutorial mostrará como controlar a posição, altura e largura de barras de cores usando mpl_toolkits.axes_grid1.inset_locator.inset_axes. Isso é útil quando você deseja adicionar uma barra de cores ao seu gráfico, mas deseja personalizar seu tamanho e posição.

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

Primeiramente, precisamos importar as bibliotecas necessárias: matplotlib e inset_axes de mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import inset_axes

Criar o Gráfico e a Imagem

Em seguida, criaremos um gráfico e uma imagem para mostrar como adicionar uma barra de cores usando eixos inseridos (inset axes).

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=[6, 3])

im1 = ax1.imshow([[1, 2], [2, 3]])
im2 = ax2.imshow([[1, 2], [2, 3]])

Adicionar Barra de Cores usando Eixos Inseridos (Inset Axes)

Agora, adicionaremos uma barra de cores a cada uma das imagens usando inset_axes. A primeira barra de cores será adicionada a ax1 e a segunda a ax2.

## add colorbar to ax1
axins1 = inset_axes(
    ax1,
    width="50%",  ## width: 50% of parent_bbox width
    height="5%",  ## height: 5%
    loc="upper right",
)
axins1.xaxis.set_ticks_position("bottom")
fig.colorbar(im1, cax=axins1, orientation="horizontal", ticks=[1, 2, 3])

## add colorbar to ax2
axins2 = inset_axes(
    ax2,
    width="5%",  ## width: 5% of parent_bbox width
    height="50%",  ## height: 50%
    loc="lower left",
    bbox_to_anchor=(1.05, 0., 1, 1),
    bbox_transform=ax2.transAxes,
    borderpad=0,
)
fig.colorbar(im2, cax=axins2, ticks=[1, 2, 3])

Exibir o Gráfico

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

plt.show()

Resumo

Neste tutorial, aprendemos como usar mpl_toolkits.axes_grid1.inset_locator.inset_axes para adicionar uma barra de cores a um gráfico com tamanho e posição personalizados. A função inset_axes nos permite controlar a posição, altura e largura da barra de cores, facilitando a criação de gráficos com aparência profissional.