Introdução
Este tutorial irá guiá-lo através do processo de criação de um gráfico com anotações usando Matplotlib em Python. Você aprenderá como conectar dois pontos com uma seta, adicionar uma elipse ao gráfico e personalizar o estilo da seta e as propriedades da elipse.
Dicas para a VM (Máquina Virtual)
Após a inicialização da VM ser concluída, clique no canto superior esquerdo para mudar para a aba Notebook para 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ê.
Configurar o gráfico
Primeiramente, precisamos configurar o gráfico com dois subplots. Usaremos a função subplots para criar uma grade 2x2 de subplots e, em seguida, definiremos as coordenadas x e y de dois pontos.
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
fig, axs = plt.subplots(2, 2)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7
Conectar dois pontos com uma seta
Nesta etapa, conectaremos os dois pontos com uma seta. Usaremos a função annotate para criar a seta e personalizaremos o estilo e a cor da seta.
ax = axs.flat[0]
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="-",
color="0.5",
connectionstyle="arc3,rad=0.3",
),
)
Adicionar uma elipse ao gráfico
Nesta etapa, adicionaremos uma elipse ao gráfico. Usaremos a função Ellipse para criar a elipse e personalizaremos as propriedades da elipse, como a posição, largura, altura e ângulo.
ax = axs.flat[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
Personalizar a seta para conectar à elipse
Nesta etapa, personalizaremos a seta para conectar à elipse. Usaremos o parâmetro arrowprops para especificar que a seta deve se conectar à elipse e também personalizaremos o estilo e a cor da seta.
ax = axs.flat[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="-",
color="0.5",
patchB=el,
connectionstyle="arc3,rad=0.3",
),
)
Personalizar a seta para encolher até a elipse
Nesta etapa, personalizaremos a seta para encolher até a elipse. Usaremos o parâmetro shrinkB para especificar a quantidade pela qual a seta deve encolher em direção à elipse.
ax = axs.flat[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
xy=(x1, y1), xycoords='data',
xytext=(x2, y2), textcoords='data',
arrowprops=dict(arrowstyle="fancy",
color="0.5",
patchB=el,
shrinkB=5,
connectionstyle="arc3,rad=0.3",
),
)
Resumo
Neste tutorial, você aprendeu como criar um gráfico com anotações usando Matplotlib em Python. Você aprendeu como conectar dois pontos com uma seta, adicionar uma elipse ao gráfico e personalizar o estilo da seta e as propriedades da elipse. Essas habilidades serão úteis na criação de gráficos informativos e visualmente atraentes para visualização de dados.