自定义matplotlib中的颜色 - 热图

use*_*649 2 python data-visualization matplotlib heatmap

如何在热图中指定颜色.在此示例中,数据是4个值中唯一的一个{0,1,2,3}

Index= ['aaa', 'bbb', 'ccc', 'ddd', 'eee']
Cols = ['A', 'B', 'C', 'D']

data= [[ 0, 3, 1, 1],[ 0, 1, 1, 1],[ 0, 1, 2, 1],[ 0, 2, 1, 2],[ 0, 1, 1, 1]]
print data
df = pd.DataFrame(data, index=Index, columns=Cols)
heatmap = plt.pcolor(np.array(data))
plt.colorbar(heatmap)
plt.show()
Run Code Online (Sandbox Code Playgroud)

如何以表示颜色的方式指定这些颜色= {0:'green',1:'red',2:'black',3:'yellow'}

lan*_*nok 7

创建自定义色彩映射并为整数设置滴答

from matplotlib import colors
cmap = colors.ListedColormap(['green','red','black','yellow'])
bounds=[-0.5, 0.5, 1.5, 2.5, 3.5]
norm = colors.BoundaryNorm(bounds, cmap.N)
heatmap = plt.pcolor(np.array(data), cmap=cmap, norm=norm)
plt.colorbar(heatmap, ticks=[0, 1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

这是你想要的吗?请注意,您data的内容显示为"颠倒".
列出的色彩图