我一直在使用pylab中的代码,它工作得很好:
import pylab as pl
colors = pl.cm.Spectral(np.linspace(0, 1, 10))然而,我想离开pylab,因为在文档中它说“pyplot接口通常是非交互式绘图的首选”。所以我试着使用matplotlib.cm,但是找不到对应的东西。有人能帮我这个忙吗?
谢谢!
发布于 2014-02-24 06:37:24
在脚本中使用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))发布于 2014-02-24 06:23:17
应该只是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. ]])发布于 2019-05-22 18:40:38
import matplotlib.pyplot as plt
colors = plt.get_cmap('Spectral')(np.linspace(0, 1, 10))是目前唯一有效的解决方案。
matplotlib要使用的删除选项:
colors = plt.cm.Spectral(np.linspace(0, 1, 10))在最新版本中。
https://stackoverflow.com/questions/21975424
复制相似问题