I have a following DataFrame (called hehe
):
11 22 33 44 55 66 77
s1 -3 5 7 8 -9 4 7
s2 4 3 8 1 4 4 -12
s3 1 -2 1 -4 8 8 -8
s4 -6 4 -4 9 -4 2 -6
下面是相关的代码:
fig, (ax1, ax2) = plt.subplots(1,2, figsize=(6,4), gridspec_kw={'width_ratios':(1,15)})
sns.heatmap(hehe, ax=ax2, cbar=False, cmap="coolwarm", linewidth=1, vmin=-25, vmax=25)
ax2.set_aspect("equal")
ax2.set_title("A", fontsize=20, pad=30)
plt.colorbar(plt.cm.ScalarMappable(cmap="coolwarm", norm=mpl.colors.Normalize(vmin=-25, vmax=25)), cax=ax1)
ax1.yaxis.set_ticks_position('left')
我想在热图顶部添加一个额外的x轴,以帮助我用星号标记列的统计显着性。 假设它是: new_annotation = ["","","","","*","*",""]
我不知道如何实现这一点......我一直在尝试使用twiny()
复制轴,但由于某种原因它没有起作用:整个热图会超出界限。
ax3.set_xlim([0,ax2.get_xlim()[1]])
来实现;(3)用ax3.tick_params(left=False, top=False)
去掉星号下面的刻度。 - maciekax2
和ax3
都设置set_aspect("equal")
。最后调用plt.tight_layout()
使所有内容适应。 - JohanCfig.savefig()
来创建次要x轴之后,但是保存之后,图形不包括次要 x 轴。 - Bob McBobson