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

我使用了以下代码来创建该图:
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次。非常感谢!
发布于 2020-07-14 11:21:53
像往常一样,使用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循环来迭代绘图。
https://stackoverflow.com/questions/62887293
复制相似问题