2015-12-13 13 views
9

axes.color_cycle jest przestarzałe w Matplotlib 1.5. Jednak jego użycie było dość proste: możemy łatwo chwycić specyficzny kolor według:Wykorzystanie przez Matplotlib 1.5 axes.prop_cycle

plt.rcParams['axes.color_cycle'][color_number] 

axes.prop_cycle nie obsługuje tej składni:

ValueError: Can only use slices with Cycler.__getitem__ 

A cycler doc nie jest bardzo szczegółowy http://matplotlib.org/cycler/

So Nie wiem, jak mogę uzyskać określony kolor z prop_cycle. Dowolny pomysł? Dzięki

Odpowiedz

9

Aby uzyskać wartość chcesz:

list(mpl.rcParams['axes.prop_cycle'])[1]['color']) 

Jest otwarty PR dodać metodę by_key do Cycler obiektów tak będzie to ostatecznie

mpl.rcParams['axes.prop_cycle'].by_key()['color'][1] 

Istnieją również pewne dyskusje o mapowaniu koloru 'c1' na pierwszy kolor w prop_cycle, ale to jeszcze nie zostało zaimplementowane.

Jestem głównym autorem dokumentacji cycler, jakie dodatkowe szczegóły chciałbyś tam zobaczyć?

+0

lista (plt.rcParams ['axes.prop_cycle']) [1] ['color'] działa dobrze! Dzięki Odnośnie dokumentów, wyjaśnia on również, jak utworzyć cykler, ale nie było to bardzo jednoznaczne o sposobie używania istniejącego cyclera, na przykład axes.prop_cycle. – Arthur

2
colors = [color['color'] for color in list(mpl.rcParams['axes.prop_cycle'])] 
colors[1] 

to sposób na przywrócenie starego użycia. Pierwszy wiersz zwraca tablicę kolorów 2-D.