2016-07-05 68 views
2

我绘制在一个单一的情节多行,我希望他们通过色彩表,而不仅仅是相同的6或7种颜色的频谱上运行。该代码是类似于此:与颜色Matplotlib情节主线通过色彩图

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

都与色彩表“喷气机”,另一个我从seaborn进口的,我得到了相同的顺序重复相同的7种颜色。我希望能够绘制大约60条不同的线条,全部用不同的颜色。

回答

5

的Matplotlib的colormaps接受一个参数,它使用从颜色表得到的颜色(0..1,标量或数组)。例如:

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

为您提供了(2)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