You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为seaborn.objects.Plot.facet绘制的分面图添加总标题

解决Seaborn Objects分面图表添加总标题的问题

你当前使用Seaborn Objects接口创建分面堆叠条形图,代码如下:

import seaborn.objects as so
import matplotlib.pyplot as plt

# 假设averages是已定义的目标DataFrame
p = so.Plot(data=averages, x='Period', y='Value', color='Name').add(so.Bar(), so.Stack())
p = p.facet(col='Solver', order=['spse', 'mp2', 'mels'])

你遇到的问题是:使用label(title=...)会给每个分面子图都添加重复标题,而你需要一个位于所有子图上方的总标题,类似Matplotlibsuptitle()的效果。

解决方法:结合Matplotlib原生API设置总标题

Seaborn Objects可以直接和Matplotlib的接口配合使用,通过以下两种方式添加总标题:

方式1:渲染图表后添加总标题

# 渲染Seaborn Objects图表
p.show()
# 添加全局总标题,y参数可调整垂直位置避免和分面标题重叠
plt.suptitle('Inventory levels', y=1.02, fontsize=14)
# 自动调整布局,防止标题或图表元素被截断
plt.tight_layout()

方式2:先获取Figure对象再设置标题

# 获取图表对应的Matplotlib Figure对象
fig = p.figure()
# 设置总标题
fig.suptitle('Inventory levels', y=1.02, fontsize=14)
# 调整布局并展示
plt.tight_layout()
plt.show()

内容的提问来源于stack exchange,提问作者Haeden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 10:42:07