我想将numpy中的二维矩阵绘制为Matplotlib中的彩色矩阵。我有以下9乘9的数组:
my_array = diag(ones(9))
# plot the array
pcolor(my_array)
我想将对角线的前三个元素设置为某种颜色,接下来的三个是不同的颜色,最后三个是不同的颜色。我想用十六进制代码字符串指定颜色,比如“#FF8C00”。我怎样才能做到这一点?
另外,如何设置pcolor的0值元素的颜色?
答案 0 :(得分:2)
要使元素具有不同的颜色,请为它们指定不同的值:
my_array = diag([1,1,1,2,2,2,3,3,3])
要指定颜色,请尝试:
from matplotlib.colors import ListedColormap, NoNorm
cmap = ListedColormap(['#E0E0E0', '#FF8C00', '#8c00FF', '#00FF8C'])
pcolor(my_array,cmap=cmap,norm=NoNorm())
norm=NoNorm()
参数避免了矩阵值的任何缩放,因此0获取列表中的第一种颜色,1获取第二种颜色等。