2016-04-12 9 views
3

私はいくつかの似たような質問を見ましたが、私の正確な質問に答えるものはありません。matplotlibグラフに新しい色を追加する方法(またはカラーマップを使用する方法)?

グラフ上にn行をプロットする必要があります。 nの標準値は10ですが、変更することができます。以前は、私は使用しました

ax.set_color_cycle([plt.cm.Accent(i) for i in np.linspace(0, 1, limit)]) 

私はうまくいきます。

しかし、この方法は、後半のよう減価償却している、と私のプログラムは、私はA使用の私のニーズに合ったドキュメントhttp://matplotlib.org/api/axes_api.html内の任意の例を見つけることができませんでしたset_prop_cycle

を使用するのと同じのために警告を与えますテスト用などのアクセントやホットまたはクールのようなカラーバー

更新

サンプルコード:

import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(111) 
limit=10 
ax.set_color_cycle([plt.cm.Accent(i) for i in np.linspace(0, 1, limit)]) 
for limit in range(1,limit+1): 
     x=np.random.randint(10, size=10) 
     y=limit*x 
     plt.plot(x,y,lw=2, label=limit) 
     plt.legend(loc='best') 

これは私を示したことである: enter image description here

質問は、私は色や種類の異なる色合いの間で選択することカラーマップを使用する方法ですか? http://matplotlib.org/users/colormaps.html

+0

だから、あなただけの 'N'等しい試料中のカラーバーを分割し、ためにそれらの色を使用したいですあなたのプロット?私たちが実行できるサンプルを生成できますか? – Chiel

+0

@Chiel私はあなたのための例を実行して追加しました。 – CoderBC

+0

定義の前に行内で 'limit'を使用する前に定義する必要があります。 – Chiel

答えて

1

より一般的なset_prop_cycleを使用するには、少し異なる配合が必要です。あなたはplt.cyclerと引数'color'ためサイクラーを作成する必要があり、残りのためにあなたが前に行ったように正確にそれを実行します。

import matplotlib.pyplot as plt 
import numpy as np 

limit=10 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.set_prop_cycle(plt.cycler('color', plt.cm.Accent(np.linspace(0, 1, limit)))) 
for limit in range(1,limit+1): 
    x=np.random.randint(10, size=10) 
    y=limit*x 
    plt.plot(x,y,lw=2, label=limit) 
    plt.legend(loc='best') 
+0

あなたの答えにお返事ありがとうございます! – CoderBC

+0

'set_prop_cycle'のループが必要であるということはありません。' plt.cm.Accent(np.linspace(0、1、limit)) 'は' [plt.cm.Accent( i)np.linspace(0、1、limit)]のiの場合 ' – Bart

+0

@Bart正しいです。私はこれが可能であることを知らなかった。私はあなたのコメントを取り入れました。 – Chiel

関連する問題