2014-02-23 117 views
1

我一直使用從pylab代碼,並能正常工作:pyplot等效pl.cm.Spectral在matplotlib

import pylab as pl 
colors = pl.cm.Spectral(np.linspace(0, 1, 10)) 

不過,我想從pylab了,因爲它說:「在文件中pyplot接口通常是非交互式繪圖的首選「。所以我試圖使用matplotlib.cm,但找不到相應的。任何人都可以幫助我嗎?

謝謝!

回答

3

在腳本中使用matplotlib從最常用的方法是

import matplotlib.pyplot as plt 

從那裏,你可以訪問使用 plt.cm.Spectral或通過的Spectral顏色表便利功能plt.get_cmap。例如,

colors = plt.cm.Spectral(np.linspace(0, 1, 10)) 

colors = plt.get_cmap('Spectral')(np.linspace(0, 1, 10)) 

相當於

colors = pl.cm.Spectral(np.linspace(0, 1, 10)) 
1

應該只是cm.Spectral

In [123]: 

import matplotlib.cm as cm 
cm.Spectral(np.linspace(0,1,10)) 
Out[123]: 
array([[ 0.61960787, 0.00392157, 0.25882354, 1.  ], 
     [ 0.84721262, 0.26120723, 0.30519032, 1.  ], 
     [ 0.96378316, 0.47743176, 0.28581316, 1.  ], 
     [ 0.99346405, 0.74771243, 0.43529413, 1.  ], 
     [ 0.99777009, 0.93087275, 0.63306423, 1.  ], 
     [ 0.94425221, 0.97770089, 0.66205308, 1.  ], 
     [ 0.74771243, 0.89803922, 0.627451 , 1.  ], 
     [ 0.45305653, 0.78154557, 0.64628991, 1.  ], 
     [ 0.21607075, 0.55563248, 0.73194927, 1.  ], 
     [ 0.36862746, 0.30980393, 0.63529414, 1.  ]]) 
In [119]: 

import pylab as pl 
pl.cm.Spectral(np.linspace(0, 1, 10)) 
Out[119]: 
array([[ 0.61960787, 0.00392157, 0.25882354, 1.  ], 
     [ 0.84721262, 0.26120723, 0.30519032, 1.  ], 
     [ 0.96378316, 0.47743176, 0.28581316, 1.  ], 
     [ 0.99346405, 0.74771243, 0.43529413, 1.  ], 
     [ 0.99777009, 0.93087275, 0.63306423, 1.  ], 
     [ 0.94425221, 0.97770089, 0.66205308, 1.  ], 
     [ 0.74771243, 0.89803922, 0.627451 , 1.  ], 
     [ 0.45305653, 0.78154557, 0.64628991, 1.  ], 
     [ 0.21607075, 0.55563248, 0.73194927, 1.  ], 
     [ 0.36862746, 0.30980393, 0.63529414, 1.  ]])