2016-07-05 92 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