我正在制作一个海运热图,我想用以下范围指定一个离散的色图:
under 40 = dark green
40 - 70 = light green
70 - 130 = white
130 - 165 = light red
165 and over = dark red
字符串
我用正确的边界做了一个颜色条:
fig, ax = plt.subplots(figsize=(6, 1))
fig.subplots_adjust(bottom=0.5)
cmap = mpl.colors.ListedColormap(['darkolivegreen', 'yellowgreen', 'white', 'lightcoral','darkred'])
#cmap.set_over('0.25')
#cmap.set_under('0.75')
bounds = [0, 40, 70, 130,165,310]
norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
cb2 = mpl.colorbar.ColorbarBase(ax, cmap=cmap,
norm=norm,
#boundaries=[0] + bounds + [13],
extend='both',
ticks=bounds,
spacing='proportional',
orientation='horizontal')
cb2.set_label('Discrete intervals, some other units')
fig.show()
型
我现在的问题是我如何定义这个带有边界的颜色条作为我的海上热图的新颜色图?
我尝试过这个,但是边界不存在,颜色Map被均匀地调整,而不是使用特定的边界。
ax = sns.heatmap(selected,cmap=cmap)
plt.ylabel('Patient')
plt.xlabel('Gene')
#ax.set_yticks(np.arange(0,61,1))
plt.show()
型
如何根据我定义的新颜色条获得正确的色彩Map表?
1条答案
按热度按时间ttcibm8c1#
您可以尝试使用
plt.colorbar
在绘制热图 * 之后 * 绘制颜色条字符串
输出量:
的数据