2016-07-05 20 views
2

私は1つのプロットに複数の線をプロットしており、同じ6色または7色だけでなく、カラーマップのスペクトルを通過させたいと考えています。コードはこれに似ている:私はseabornからインポートカラーマップ「ジェット」と相互Matplotlib Colormapを使用した色付き線のプロット

for i in range(20): 
    for k in range(100): 
      y[k] = i*x[i] 
    plt.plot(x,y) 
plt.show() 

両方、私は同じ順序で繰り返される同一の7色を得ます。私は〜60まで異なる線を、異なる色でプロットすることができるようにしたいと思います。

答えて

5

Matplotlibのカラーマップは、カラーマップからカラーを取得するために使用する引数(0..1、スカラーまたは配列)を受け入れます。例えば:

col = pl.cm.jet([0.25,0.75])  

はあなたの(二)RGBA色の配列を与える:

配列([0、0.50392157、1、1]、 [1、0.58169935、 0、1]])

あなたはN異なる色を作成するためにそれを使用することができます

import numpy as np 
import matplotlib.pylab as pl 

x = np.linspace(0, 2*np.pi, 64) 
y = np.cos(x) 

pl.figure() 
pl.plot(x,y) 

n = 20 
colors = pl.cm.jet(np.linspace(0,1,n)) 

for i in range(n): 
    pl.plot(x, i*y, color=colors[i]) 

enter image description here

関連する問題