为了账号安全,请及时绑定邮箱和手机立即绑定

如何调整 seaborn 热图中单个子批次的高度

如何调整 seaborn 热图中单个子批次的高度

杨魅力 2023-03-08 14:46:49
我有一个使用 seaborn 的热图,我正在尝试调整下面第 4 个图的高度。您会看到它只有 2 行数据,而其他数据行更多:我使用以下代码来创建情节:f, ax = plt.subplots(nrows=4,figsize=(20,10))cmap = plt.cm.GnBu_rsns.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])有谁知道下一步要使第 4 个地块的高度变小,从而拉伸其他 3 个地块?第 4 个地块通常总是有 2-3 个,而其他地块最多有 6-7 个。非常感谢!
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

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


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 循环来遍历图形。


查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号