首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在海上热图中调整单个子点的高度

如何在海上热图中调整单个子点的高度
EN

Stack Overflow用户
提问于 2020-07-14 10:51:14
回答 1查看 79关注 0票数 0

我有一个热图使用seaborn,正在尝试调整下面第四个图的高度。您将看到它只有2行数据,而其他数据行更多:

我使用了以下代码来创建该图:

代码语言:javascript
复制
f, ax = plt.subplots(nrows=4,figsize=(20,10))
cmap = plt.cm.GnBu_r
sns.heatmap(df,cbar=False,cmap=cmap,ax=ax[0])
sns.heatmap(df2,cbar=False,cmap=cmap,ax=ax[1])
sns.heatmap(df3,cbar=False,cmap=cmap,ax=ax[2])
sns.heatmap(df4,cbar=False,cmap=cmap,ax=ax[3])

有没有人知道下一步如何从根本上使第四个情节的高度变小,从而拉伸其他三个情节?第四张图通常会有2-3次,而其他的大多数时候会有6-7次。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-14 11:21:53

像往常一样,使用matplotlib相当时髦/乏味。但它就在这里!

代码语言:javascript
复制
f = plt.figure(constrained_layout = True)  
specs = f.add_gridspec(ncols = 1, nrows = 4, height_ratios = [1,1,1,.5])

for spec, df in zip(specs, (df, df2, df3, df4)):
  ax = sns.heatmap(df,cbar=False,cmap=cmap, ax=f.add_subplot(spec)) 

您可以使用height_ratios更改彼此之间的相对高度。如果希望更改相对宽度,还可以实现wdith_ratios参数。您还可以实现一个for循环来迭代绘图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62887293

复制
相关文章

相似问题

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