2017-05-23 13 views
1

私はこのデータファイルをプロットしていますが、うまくいきます。色を調整したmatplotlib

def orb_p(): 
    # print(data[:,0]) 
    pxp = data[:,3] 
    pxm = data[:,4] 
    pyp = data[:,5] 
    pym = data[:,6] 
    pzp = data[:,7] 
    pzm = data[:,8] 
    plt.plot(x,pxp, "-") 
    plt.plot(x,pxm, "-") 
    plt.plot(x,pyp, "-") 
    plt.plot(x,pym, "-") 
    plt.plot(x,pzp, "-") 
    plt.plot(x,pzm, "-") 
    plt.fill_between(x,pxp) 
    plt.fill_between(x,pyp) 
    plt.fill_between(x,pzp) 
    plt.fill_between(x,pxm) 
    plt.fill_between(x,pym) 
    plt.fill_between(x,pzm) 
    plt.show() 

問題は、私は((PYP、PYM)及び(PZP、PZM)に同じ)PXPとPXMのために同じ色を使用したいです。私は手動で(r-)のようなオプションを使ってそれらを制御することができますが、私はデフォルトの配色(ggplot)を使用したいと思います。私はそれをどのようにすることができますか?

+1

色を参照することができます例えば ​​'C0'、 'C​​2'のような単純な文字列を使ったmatplotlibカラーサイクル –

答えて

0

デフォルトでは、fill_betweenはカラーサイクラーを進めてはなりません。だからfill_betweenの直後にプロットすると、plotは両方とも同じ色になるはずです。

import numpy as np; np.random.seed(1) 
import matplotlib.pyplot as plt 

x = np.linspace(0,2, 23) 
data = np.fliplr(np.cumsum(np.cumsum(np.random.normal(size=(len(x),9)), axis=0)+3, axis=1)) 

for i in range(3,9): 
    plt.plot(x,data[:,i], "-") 
    plt.fill_between(x,data[:,i]) 

plt.show() 

enter image description here

あなたが実際にplot機能を必要としない心。それを残しても同じ結果が得られます。 enter image description here

fill_betweenカラーサイクラーを進めていないならば、私は、この作業の理由はわかりませんが;-)

0

カラーホイールに使用される色にアクセスするには:。

l, = plt.plot(x) 
color = l.get_color() 

私は試してみたことがありませんfill_betweenしかし、私はあなたが必要かもしれないと思います

l = plt.fill_between(...) 
color = l.get_cmap() 
+0

これはどのくらい質問に答えているのだろうか? – ImportanceOfBeingErnest

関連する問題