如何在热图中添加第二个比例尺?

时间:2018-08-21 17:35:26

标签: python matplotlib heatmap

通过这种方式,我创建了<body class="ms-backgroundImage" style="..." spellcheck="false">

heatmap

fig = plt.figure(figsize = (8.27, 13.69), dpi = 100) fig, ax = plt.subplots(1,1,figsize = (8.27, 13.69)) fig = plt.gcf() heatplot = ax.imshow(c, cmap='rainbow', aspect='auto',\ norm=MidpointNormalize(midpoint=0.90)) 是具有c值的数组,被标准化为1。

使用heatmapax.set_xticklabels()ax.set_xticks()ax.set_yticklabels(),将轴添加到其ax.set_yticks()中。现在,我想添加第二个heatmap轴。 y的方向是水平的。

编辑:

在Bazingaa的帮助下,我有了第二个y轴,但是有一个偏移量:

enter image description here

colorbar使刻度线居中。

3 个答案:

答案 0 :(得分:2)

要添加第二个y轴,您必须使用:

ax2 = ax1.twinx()

其中ax1是当前/第一轴。在您的情况下,ax1ax。然后,如果使用ax2绘制数据,则y值将显示在右侧y轴上。更多信息here

答案 1 :(得分:1)

通过以下方式解决了我问题的编辑部分

ax2.set_ylim(ax1.get_ylim()) <-- This solvs the "Offset" between both scales

ax2.set_yticks(np.arange(len(ELEMENT[1])), minor=False)
ax2.set_yticklabels(ELEMENT[1])

enter image description here

我在哪里找到的?? How do I align gridlines for two y-axis scales using Matplotlib?

回答者:Hugo Alain Oliva

答案 2 :(得分:0)

我决定使用子图可以减少混乱,并将两张热图并排放置