私は現在の色サイクルを得るためのパブリックAPIがあるとは思いませんが、set_prop_cycle
を模倣することにより、あなたがget_prop_cycle
このよう定義することができます:あなたはprop_cycler
の色を持っていたら
rcParams = plt.matplotlib.rcParams
def get_prop_cycle():
prop_cycler = rcParams['axes.prop_cycle']
if prop_cycler is None and 'axes.color_cycle' in rcParams:
clist = rcParams['axes.color_cycle']
prop_cycler = cycler('color', clist)
return prop_cycler
を、あなたは色のサイクルでカラーにc
をマッピングすることができます
colors = [item['color'] for item in get_prop_cycle()]
c = np.take(colors, c, mode='wrap')
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.rcsetup import cycler
np.random.seed(2016)
rcParams = plt.matplotlib.rcParams
def get_prop_cycle():
prop_cycler = rcParams['axes.prop_cycle']
if prop_cycler is None and 'axes.color_cycle' in rcParams:
clist = rcParams['axes.color_cycle']
prop_cycler = cycler('color', clist)
return prop_cycler
fig, ax = plt.subplots(nrows=2)
x,y = np.random.normal(size=(2,250))
theta = np.arctan2(y,x)
c = np.digitize(theta, np.histogram(theta)[1])
ax[0].scatter(x,y,c=c)
ax[0].set_title('using default colormap')
colors = [item['color'] for item in get_prop_cycle()]
c = np.take(colors, c, mode='wrap')
ax[1].scatter(x,y,c=c)
ax[1].set_title('using color cycle')
plt.show()
ありがとう、これは私が必要とするものです!サイクル/アイリスコンボの代わりに、 'c = np.take(colors、c、mode = 'wrap')'を使う方が少しシンプルであることがわかりました。 – perimosocordiae
@perimosocordiae:大きな改善をありがとう。 – unutbu