색상 (및 완전한 스타일)주기에 액세스하는 방법은 무엇입니까?
현재 상태는에 저장됩니다 ax._get_lines.prop_cycler
. 일반에 대한 "기본 목록"을 노출하는 기본 제공 메서드는 없습니다 itertools.cycle
. 특히ax._get_lines.prop_cycler
(아래 참조)에 .
여기 에 몇 가지 기능을 게시 하여 itertools.cycle
. 그런 다음 사용할 수 있습니다.
style_cycle = ax._get_lines.prop_cycler
curr_style = get_cycle_state(style_cycle)
curr_color = curr_style['color']
주기의 상태를 변경하지 않고 현재 색상을 가져옵니다 .
TL; DR
색상 (및 완전한 스타일)주기는 어디에 저장됩니까?
스타일주기는 두 개의 서로 다른 장소의 하나에 저장되어 기본 및 하나 현재 (가정 축 import matplotlib.pyplot as plt
및 ax
축 처리기입니다) :
default_prop_cycler = plt.rcParams['axes.prop_cycle']
current_prop_cycle = ax._get_lines.prop_cycler
여기에는 다른 클래스가 있습니다. 기본값은 "기본주기 설정"이며 축의 현재 상태에 대해 알지 못하는 반면 현재는 따라야 할주기와 현재 상태에 대해 알고 있습니다.
print('type(default_prop_cycler) =', type(default_prop_cycler))
print('type(current_prop_cycle) =', type(current_prop_cycle))
[]: type(default_prop_cycler) = <class 'cycler.Cycler'>
[]: type(current_prop_cycle) = <class 'itertools.cycle'>
기본주기에는 순환 할 여러 키 (속성)가있을 수 있으며 하나는 색상 만 가져올 수 있습니다.
print('default_prop_cycler.keys =', default_prop_cycler.keys)
default_prop_cycler2 = plt.rcParams['axes.prop_cycle'].by_key()
print(default_prop_cycler2)
print('colors =', default_prop_cycler2['color'])
[]: default_prop_cycler.keys = {'color', 'linestyle'}
[]: {'color': ['r', 'g', 'b', 'y'], 'linestyle': ['-', '--', ':', '-.']}
[]: colors = ['r', 'g', 'b', 'y']
하나는도를 변화시킬 수 cycler
주어진에 사용할 axes
것을 정의한 후, custom_prop_cycler
함께,
ax.set_prop_cycle(custom_prop_cycler)
그러나 일반에 대한 "기본 목록"을 노출하는 기본 제공 메서드 itertools.cycle
, 특히 ax._get_lines.prop_cycler
.