我试图基于4个离散值1,2,3,4创建pcolor.我想将1定义为黑色,将2定义为红色,将3定义为黄色,将4定义为绿色.有谁知道怎么做?
test = ([1,2,2,1,3],[1,1,1,1,4],[2,1,1,2,1])
import numpy as np
dataset = np.array(test)
plt.pcolor(dataset)
Run Code Online (Sandbox Code Playgroud)
谢谢,
我认为你不想使用pcolor.从Matlab文档(可能是matplotlib pcolor做同样的事情):
C的最小和最大元素被赋予色图中的第一个和最后一个颜色.C中其余元素的颜色由从值到色图元素的线性映射确定.
您可以尝试imshow使用a dict来映射您想要的颜色:
colordict = {1:(0,0,0),2:(1,0,0),3:(1,1,0),4:(0,1,0)}
test = ([1,2,2,1,3],[1,1,1,1,4],[2,1,1,2,1])
test_rgb = [[colordict[i] for i in row] for row in test]
plt.imshow(test_rgb, interpolation = 'none')
Run Code Online (Sandbox Code Playgroud)
