Introdução
Este tutorial irá guiá-lo através do processo de criação de um gráfico de referência de estilo de seta usando Matplotlib em Python. O gráfico exibirá os diferentes estilos de seta disponíveis em ~.Axes.annotate.
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
Importe as bibliotecas necessárias para criar o gráfico de referência de estilo de seta.
import inspect
import itertools
import re
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
Obter os Estilos de Seta
Use mpatches.ArrowStyle.get_styles() para obter todos os estilos de seta disponíveis em ~.Axes.annotate.
styles = mpatches.ArrowStyle.get_styles()
Configurar a Figura
Configure a figura usando plt.figure() e add_gridspec(). A figura terá uma grade de 2 colunas e n linhas, onde n é o número de estilos de seta. Cada célula na grade conterá um estilo de seta e seus parâmetros padrão.
ncol = 2
nrow = (len(styles) + 1) // ncol
axs = (plt.figure(figsize=(4 * ncol, 1 + nrow))
.add_gridspec(1 + nrow, ncol,
wspace=.7, left=.1, right=.9, bottom=0, top=1).subplots())
for ax in axs.flat:
ax.set_axis_off()
for ax in axs[0, :]:
ax.text(0, .5, "arrowstyle",
transform=ax.transAxes, size="large", color="tab:blue",
horizontalalignment="center", verticalalignment="center")
ax.text(.35, .5, "default parameters",
transform=ax.transAxes,
horizontalalignment="left", verticalalignment="center")
Plotar os Estilos de Seta
Plote cada estilo de seta em uma célula da grade, juntamente com seus parâmetros padrão. Use ax.annotate() para adicionar o nome do estilo de seta e seus parâmetros padrão à célula.
for ax, (stylename, stylecls) in zip(axs[1:, :].T.flat, styles.items()):
l, = ax.plot(.25, .5, "ok", transform=ax.transAxes)
ax.annotate(stylename, (.25, .5), (-0.1, .5),
xycoords="axes fraction", textcoords="axes fraction",
size="large", color="tab:blue",
horizontalalignment="center", verticalalignment="center",
arrowprops=dict(
arrowstyle=stylename, connectionstyle="arc3,rad=-0.05",
color="k", shrinkA=5, shrinkB=5, patchB=l,
),
bbox=dict(boxstyle="square", fc="w"))
## wrap at every nth comma (n = 1 or 2, depending on text length)
s = str(inspect.signature(stylecls))[1:-1]
n = 2 if s.count(',') > 3 else 1
ax.text(.35, .5,
re.sub(', ', lambda m, c=itertools.count(1): m.group()
if next(c) % n else '\n', s),
transform=ax.transAxes,
horizontalalignment="left", verticalalignment="center")
Exibir o Gráfico
Exiba o gráfico de referência dos estilos de seta usando plt.show().
plt.show()
Resumo
Neste tutorial, você aprendeu como criar um gráfico de referência de estilos de seta usando Matplotlib em Python. Você utilizou mpatches.ArrowStyle.get_styles() para obter todos os estilos de seta disponíveis em ~.Axes.annotate, configurou uma figura usando plt.figure() e add_gridspec(), plotou cada estilo de seta em uma célula da grade e exibiu o gráfico usando plt.show().