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 cyclerAPI pode ser encontrada aqui .

Este exemplo demonstra duas APIs diferentes:

  1. 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).

  2. 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 yytem 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]iprop_cyclematplotlib.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_cycleusing matplotlib.axes.Axes.set_prop_cycle(), que definirá somente o prop_cyclepara esta matplotlib.axes.Axes instância. Usaremos um segundo cyclerque 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()
Defina o ciclo de cores padrão para rgby, defina o ciclo de cores dos eixos para cmyk

Configuração prop_cycleno matplotlibrcarquivo 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:

from cycler import cycler
cc = (cycler(color=list('rgb')) +
      cycler(linestyle=['-', '--', '-.']))
for d in cc:
    print(d)

Resulta em:

{'color': 'r', 'linestyle': '-'}
{'color': 'g', 'linestyle': '--'}
{'color': 'b', 'linestyle': '-.'}

Você pode multiplicar cicladores:

from cycler import cycler
cc = (cycler(color=list('rgb')) *
      cycler(linestyle=['-', '--', '-.']))
for d in cc:
    print(d)

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': '-.'}

Galeria gerada por Sphinx-Gallery