【发布时间】:2021-02-21 16:17:51
【问题描述】:
我有一个绘制多个图的代码 - 在 Seaborn 的单个图中绘制一个热图和一个条形图。但是,两个图的大小相同,即整体图的一半是热图,另一半是条形图。有没有办法控制单个绘图大小,使热图占据绘图大小的 75%,而条形图仅占绘图的 25%?
参考代码:
ig, ax = plt.subplots(1, 2, figsize=(7, 5))
heatmap = np.random.uniform(0, 1, size=(12, 12))
sns.heatmap(heatmap_scores, linewidth=0.5, cmap="OrRd", ax=ax[0])
ax[0].set_xlabel('Head')
ax[0].set_ylabel('Layer')
ax[0].set_title('Attention Heatmap')
x = np.mean(heatmap_scores, axis=1)
y = np.arange(0, 12)
sns.barplot(x=x, y=y, ax=ax[1], orient='h', color='r', dodge=False)
ax[1].set_title('Layer Average')
ax[1].set(yticklabels=[])
plt.savefig('fig.png')
plt.close()
【问题讨论】:
标签: python python-3.x matplotlib seaborn