我一直在使用pylab的代码,它运行良好:
import pylab as pl
colors = pl.cm.Spectral(np.linspace(0, 1, 10))
然而,我想离开pylab,因为文档中说:“对于非交互式绘图,通常优先使用pyplot接口”。因此,我尝试使用 matplotlib.cm
,但找不到相应的等效物。有没有人能帮助我解决这个问题?
谢谢!
我一直在使用pylab的代码,它运行良好:
import pylab as pl
colors = pl.cm.Spectral(np.linspace(0, 1, 10))
然而,我想离开pylab,因为文档中说:“对于非交互式绘图,通常优先使用pyplot接口”。因此,我尝试使用 matplotlib.cm
,但找不到相应的等效物。有没有人能帮助我解决这个问题?
谢谢!
使用matplotlib最常见的方式是在脚本中使用
import matplotlib.pyplot as plt
从那里,您可以使用plt.cm.Spectral
或通过便捷函数plt.get_cmap
访问Spectral
色图。例如:
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))
应该只需要使用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. ]])
import matplotlib.pyplot as plt
colors = plt.get_cmap('Spectral')(np.linspace(0, 1, 10))
colors = plt.cm.Spectral(np.linspace(0, 1, 10))
cs = cm.get_cmap('Spectral')(1.*m/K)
,而不会引起 PyDev 的抱怨,所以这就是为什么在我的设置中有效的原因? - demongolem