【发布时间】:2021-04-01 11:38:42
【问题描述】:
更新: 做了一个糟糕的hack,我选择了一个颜色图渐变(在我的例子中是'nipy_spectral')并制作了一个字典,将我想要的颜色映射到一个整数,这样绘图函数就会绘制正确的颜色。它涉及大量的数字。如果没有更好的解决方案,我会发布。
我有以下绘图函数改编自我用于混淆矩阵的另一个绘图函数:
def plot_matrix(rm, title='Robot World', cmap=plt.cm.Blues):
plt.imshow(rm, interpolation='nearest', cmap=cmap)
plt.title(title)
plt.tight_layout()
我有一个如下形式的矩阵:
[1,3,1,0,1,3,4]
[3,1,0,1,2,3,0]
...再多几行。
理想情况下,我绘制这个矩阵,使得矩阵中的整数值对应于颜色:['black','blue','yellow','green','red'] 在一个类似于 matplotlib 示例站点上的示例矩阵的图中,用于最近插值:
我认为答案一定是某种自定义 cmap,例如:
cmap = { 0:'k',1:'b',2:'y',3:'g',4:'r' }
我将如何在 matplotlib 中执行此操作?我正在查看自定义颜色图网站,它似乎比我想要做的要复杂得多......
【问题讨论】:
-
从上面的链接映射为:
cmap = plt.cm.get_cmap('PiYG', 11)plt.plot(range(5), c=cmap(0))
标签: python matplotlib