Observação
Clique aqui para baixar o código de exemplo completo
Modelando com a cicladora #
Demonstração de configurações de ciclo de propriedade personalizadas para controlar cores e outras propriedades de estilo para plotagens de várias linhas.
Observação
A documentação mais completa da cycler
API pode ser encontrada
aqui .
Este exemplo demonstra duas APIs diferentes:
Definindo o parâmetro rc especificando o ciclo de propriedade padrão. Isso afeta todos os eixos subseqüentes (mas não os eixos já criados).
Definir o ciclo de propriedade para um único par de eixos.
from cycler import cycler
import numpy as np
import matplotlib.pyplot as plt
Primeiro vamos gerar alguns dados de amostra, neste caso, quatro curvas senoidais de deslocamento.
x = np.linspace(0, 2 * np.pi, 50)
offsets = np.linspace(0, 2 * np.pi, 4, endpoint=False)
yy = np.transpose([np.sin(x + phi) for phi in offsets])
Agora yy
tem forma
print(yy.shape)
(50, 4)
Assim , você obterá a -ésima curva senoidal de deslocamento. Vamos definir o padrão usando . Combinaremos um ciclador de cores e um ciclador de estilo de linha adicionando ( ) dois 's juntos. Consulte o final deste tutorial para obter mais informações sobre como combinar diferentes cicladores.yy[:, i]
i
prop_cycle
matplotlib.pyplot.rc()
+
cycler
default_cycler = (cycler(color=['r', 'g', 'b', 'y']) +
cycler(linestyle=['-', '--', ':', '-.']))
plt.rc('lines', linewidth=4)
plt.rc('axes', prop_cycle=default_cycler)
Agora vamos gerar uma figura com dois eixos, um em cima do outro. No primeiro eixo, plotaremos com o cycler padrão. No segundo eixo, definiremos prop_cycle
using matplotlib.axes.Axes.set_prop_cycle()
, que definirá somente o prop_cycle
para esta matplotlib.axes.Axes
instância. Usaremos um segundo cycler
que combina um ciclador de cores e um ciclador de largura de linha.
custom_cycler = (cycler(color=['c', 'm', 'y', 'k']) +
cycler(lw=[1, 2, 3, 4]))
fig, (ax0, ax1) = plt.subplots(nrows=2)
ax0.plot(yy)
ax0.set_title('Set default color cycle to rgby')
ax1.set_prop_cycle(custom_cycler)
ax1.plot(yy)
ax1.set_title('Set axes color cycle to cmyk')
# Add a bit more space between the two plots.
fig.subplots_adjust(hspace=0.3)
plt.show()
Configuração prop_cycle
no matplotlibrc
arquivo ou arquivos de estilo #
Lembre-se, um ciclador personalizado pode ser definido em seu matplotlibrc
arquivo ou em um arquivo de estilo ( style.mplstyle
) em axes.prop_cycle
:
axes.prop_cycle : cycler(color='bgrcmyk')
Percorrendo várias propriedades #
Você pode adicionar cicladores:
Resulta em:
{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}
Você pode multiplicar cicladores:
Resulta em:
{'color': 'r', 'linestyle': '-'}
{'color': 'r', 'linestyle': '--'}
{'color': 'r', 'linestyle': '-.'}
{'color': 'g', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'g', 'linestyle': '-.'}
{'color': 'b', 'linestyle': '-'}
{'color': 'b', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}