Introdução
Matplotlib é uma poderosa ferramenta de visualização de dados para Python. Uma de suas funcionalidades é a capacidade de criar estilos de linha personalizados para gráficos. Neste laboratório, aprenderemos como criar e usar diferentes estilos de linha em 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
Para usar Matplotlib, primeiro precisamos importar a biblioteca. Também importaremos a biblioteca NumPy para gerar alguns dados de exemplo para nossos gráficos.
import matplotlib.pyplot as plt
import numpy as np
Definir estilos de linha
Existem diferentes maneiras de definir estilos de linha em Matplotlib. Podemos usar estilos predefinidos como 'solid' (sólido), 'dashed' (tracejado), 'dotted' (pontilhado) e 'dashdot' (traço-ponto). Também podemos definir estilos de linha personalizados usando uma tupla de traços (dash tuple).
linestyle_str = [
('solid', 'solid'), ## Same as (0, ()) or '-'
('dotted', 'dotted'), ## Same as (0, (1, 1)) or ':'
('dashed', 'dashed'), ## Same as '--'
('dashdot', 'dashdot')] ## Same as '-.'
linestyle_tuple = [
('loosely dotted', (0, (1, 10))),
('dotted', (0, (1, 1))),
('densely dotted', (0, (1, 1))),
('long dash with offset', (5, (10, 3))),
('loosely dashed', (0, (5, 10))),
('dashed', (0, (5, 5))),
('densely dashed', (0, (5, 1))),
('loosely dashdotted', (0, (3, 10, 1, 10))),
('dashdotted', (0, (3, 5, 1, 5))),
('densely dashdotted', (0, (3, 1, 1, 1))),
('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))),
('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))),
('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))]
Criar uma função para plotar estilos de linha
Podemos criar uma função para plotar os diferentes estilos de linha. A função recebe um objeto de eixo (axis object), uma lista de estilos de linha e um título como parâmetros de entrada.
def plot_linestyles(ax, linestyles, title):
X, Y = np.linspace(0, 100, 10), np.zeros(10)
yticklabels = []
for i, (name, linestyle) in enumerate(linestyles):
ax.plot(X, Y+i, linestyle=linestyle, linewidth=1.5, color='black')
yticklabels.append(name)
ax.set_title(title)
ax.set(ylim=(-0.5, len(linestyles)-0.5),
yticks=np.arange(len(linestyles)),
yticklabels=yticklabels)
ax.tick_params(left=False, bottom=False, labelbottom=False)
ax.spines[:].set_visible(False)
for i, (name, linestyle) in enumerate(linestyles):
ax.annotate(repr(linestyle),
xy=(0.0, i), xycoords=ax.get_yaxis_transform(),
xytext=(-6, -12), textcoords='offset points',
color="blue", fontsize=8, ha="right", family="monospace")
Criar o gráfico
Podemos criar o gráfico chamando a função plot_linestyles para cada conjunto de estilos de linha.
fig, (ax0, ax1) = plt.subplots(2, 1, figsize=(10, 8), height_ratios=[1, 3])
plot_linestyles(ax0, linestyle_str[::-1], title='Named linestyles')
plot_linestyles(ax1, linestyle_tuple[::-1], title='Parametrized linestyles')
plt.tight_layout()
plt.show()
Interpretar o gráfico
O gráfico resultante mostra os diferentes estilos de linha. O gráfico superior mostra os estilos de linha nomeados, enquanto o gráfico inferior mostra os estilos de linha parametrizados. As anotações no lado direito mostram as tuplas de traços (dash tuples) usadas para cada estilo de linha.
Resumo
Neste laboratório, aprendemos como criar e usar diferentes estilos de linha no Matplotlib. Definimos estilos de linha usando estilos predefinidos e tuplas de traços (dash tuples). Também criamos uma função para plotar os diferentes estilos de linha e interpretamos o gráfico resultante.