【发布时间】:2017-05-11 02:44:07
【问题描述】:
在使用 matplotlib 时,是否有一种简单的方法可以为给定矩阵的每个元素指示特定颜色。例如,假设我们想用以下三种特定颜色显示“x”:红色、黑色和白色:
但是,我发现的唯一选项是使用“cmap”,它不会直接为您提供“直接”指定颜色的选项。
fig = plt.figure()
ax = fig.add_subplot(111)
x= [[0,0,0,0,0,0],[0,0,0,0,0,0], [0,1,1,2,1,1], [0,0,0,0,0,1], [0,1,1,1,1,1]]
cax = ax.matshow(x,cmap=plt.cm.gray_r )
plt.show()
我的问题:我应该如何更改代码以显示上述红/黑/白网格? [例如,0 表示黑色,1 表示白色,2 表示红色],一般来说,我们如何才能为更大的颜色列表做到这一点?比如 10-15 种颜色。
另外,如何为matix中的某个元素分配某种颜色?例如在上面,x[i][j] == 0 然后 color ='black' 或 x[i][j] == 2 然后 color ='red'
谢谢。
【问题讨论】:
-
我最近找到了解决这个问题的简单方法。它涉及创建一个 3d numpy 数组,该数组表示数据的所需颜色并绘制它而不是原始的 2d 数据数组。可以在这里找到解决方案stackoverflow.com/a/66821752/7871710
标签: python matplotlib