Tutorial de Efeitos de Caminho no Matplotlib

Beginner

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

Introdução

Neste laboratório, você aprenderá como usar efeitos de caminho (path effects) no Matplotlib para adicionar efeitos especiais aos seus gráficos. Os efeitos de caminho permitem que você adicione traços personalizados, sombras e outros efeitos visuais aos seus elementos de texto e gráficos.

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 Bibliotecas e Preparar Dados

Primeiramente, precisamos importar as bibliotecas necessárias e preparar alguns dados para plotar.

import matplotlib.pyplot as plt
import numpy as np

## Prepare data
arr = np.arange(25).reshape((5, 5))

Adicionar Efeito de Contorno ao Texto

Podemos adicionar um efeito de contorno (stroke effect) ao texto usando o efeito de caminho withStroke. Neste exemplo, adicionaremos um efeito de contorno à anotação de texto no gráfico.

## Create plot and add text annotation with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
txt = ax.annotate("test", (1., 1.), (0., 0),
                   arrowprops=dict(arrowstyle="->",
                                   connectionstyle="angle3", lw=2),
                   size=20, ha="center",
                   path_effects=[patheffects.withStroke(linewidth=3,
                                                        foreground="w")])
txt.arrow_patch.set_path_effects([
    patheffects.Stroke(linewidth=5, foreground="w"),
    patheffects.Normal()])

## Add grid with stroke effect
pe = [patheffects.withStroke(linewidth=3,
                             foreground="w")]
ax.grid(True, linestyle="-", path_effects=pe)

plt.show()

Adicionar Efeito de Contorno às Linhas de Contorno

Também podemos adicionar efeitos de contorno às linhas de contorno e seus rótulos usando o efeito de caminho withStroke.

## Create plot and add contour lines with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
cntr = ax.contour(arr, colors="k")

plt.setp(cntr.collections, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

clbls = ax.clabel(cntr, fmt="%2.0f", use_clabeltext=True)
plt.setp(clbls, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

plt.show()

Adicionar Efeito de Sombra à Legenda

Podemos adicionar um efeito de sombra a uma legenda usando o efeito de caminho withSimplePatchShadow.

## Create plot and add shadow effect to legend
fig, ax = plt.subplots()
p1, = ax.plot([0, 1], [0, 1])
leg = ax.legend([p1], ["Line 1"], fancybox=True, loc='upper left')
leg.legendPatch.set_path_effects([patheffects.withSimplePatchShadow()])

plt.show()

Resumo

Neste laboratório, você aprendeu como usar efeitos de caminho (path effects) no Matplotlib para adicionar efeitos especiais aos seus gráficos. Você aprendeu como adicionar efeitos de contorno (stroke effects) a texto, linhas de contorno e seus rótulos, bem como como adicionar um efeito de sombra a uma legenda. Com efeitos de caminho, você pode criar gráficos visualmente impressionantes que transmitem seus dados de forma clara e concisa.