首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seaborn heatmap缩小单元大小

Seaborn heatmap缩小单元大小
EN

Stack Overflow用户
提问于 2017-05-31 12:34:15
回答 2查看 16.1K关注 0票数 10

有没有办法改变Seaborn heatmap的单元大小?我找到了this,但我无法让它像预期的那样工作。

因此,我在y轴标签中有很长的文本。由于所有的文本都被切掉了,我想缩小热图的单元格大小。我不需要那个大矩形。(例如,突出显示。)

(我隐藏了标签名称。)

当我将图形大小更改如下时,

代码语言:javascript
复制
plt.figure(figsize=(8, 6)) or 
figure.set_size_inches(12, 12) 

单元格也变得更大,所以文本仍然被截断。

下面是代码。

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-31 18:40:48

尝试在sns.heatmap调用中使用square=True参数。这会将热图单元限制为正方形纵横比。

代码语言:javascript
复制
ax1 = sns.heatmap(hmap, cbar=0, cmap="YlGnBu",linewidths=2, ax=ax0,vmax=3000, vmin=0, square=True)
票数 12
EN

Stack Overflow用户

发布于 2017-05-31 16:50:28

你实际上并不想改变单元格的大小,但是你想要缩小轴的大小。实现这一目标的方法:

在一侧使用更多空间,例如via plt.tight_layout()

  • Provide an

  • ,它具有您想要的大小,ax1 = fig.add_axes([0.4,0.2,0.5,0.6]) (其中数字是[left, bottom, width, height],并使用此轴绘制热图via
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44275719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档