【发布时间】:2017-10-31 17:22:55
【问题描述】:
有没有办法改变 Seaborn 热图的单元格大小? 我找到了this,但无法按预期工作。
所以,我在 y 轴标签中有长文本。由于所有文本都被切掉了,我想将热图的单元格大小缩小得多。我不需要那么大的矩形。 (仅作为示例突出显示。)
当我改变图形大小时,
plt.figure(figsize=(8, 6)) or
figure.set_size_inches(12, 12)
单元格也变得更大,因此文本仍然被截断。
这里是代码。
sns.set(font_scale=1.2)
ax0 = plt.axes()
ax1 = sns.heatmap(hmap, cbar=0, cmap="YlGnBu",linewidths=2, ax=ax0,vmax=3000, vmin=0)
ax1.set_title('test heatmap')
for item in ax1.get_yticklabels():
item.set_rotation(0)
for item in ax1.get_xticklabels():
item.set_rotation(0)
figure = plt.gcf() # get current figure
figure.set_size_inches(12, 12)
plt.savefig('test.png') , dpi=400)
【问题讨论】:
-
您是否在
sns.heatmap调用中尝试过square=True参数? -
@NathanWatkins 谢谢!这确实有效。你拯救了我的一天!
-
太棒了!如果您想将其标记为已回答,我会将其发布为答案。
-
你的问题并不完全清楚,但我认为问题是你想要
savefig(..., bbox_inches="tight)。 -
如果你不打算将坐标轴传递给
heatmap,那么这样做是没有意义的:ax0 = plt.axes()
标签: python-3.x matplotlib heatmap seaborn