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

如何在Seaborn relplot图表中添加DP Inlet均值参考线

Seaborn relplot添加DP Inlet均值参考线实现方法

注意你原有代码里sns.set()的位置不对,全局样式配置必须放在所有绘图代码之前才会生效,添加参考线的逻辑很简单,先计算目标字段均值,再在坐标轴上画水平参考线即可,具体操作如下:

  • 前置调整:将sns.set(font_scale=1)移动到绘图代码最开头
  • 计算均值:直接用pandas原生的mean()方法计算DP Inlet列的全局平均值
  • 绘制参考线:relplot返回的是FacetGrid对象,取到对应的坐标轴实例后,调用axhline()方法绘制水平参考线,可自行调整线的颜色、样式、粗细,还可以加文字标注说明均值数值

修改后的完整可运行代码:

import seaborn as sns
import matplotlib.pyplot as plt

# 全局配置必须放在绘图前
sns.set(font_scale=1)

# 计算DP Inlet字段的全局均值
dp_inlet_mean = df["DP Inlet"].mean()

# 原有relplot绘图逻辑
g = sns.relplot(
    x="TimeStamp", 
    y="DP Inlet", 
    hue="humidity", 
    data=df
)
g.set(title='DP inlet over time vs Temp')

# 获取当前绘图的坐标轴对象
ax = g.axes[0, 0]
# 绘制水平均值参考线
ax.axhline(
    y=dp_inlet_mean,
    color="#d62728",
    linestyle="--",
    linewidth=2,
    label=f"DP Inlet 均值:{dp_inlet_mean:.2f}"
)
# 显示参考线对应的图例
ax.legend()

# 原有画布尺寸设置
g.fig.set_figwidth(30.27)
g.fig.set_figheight(20.7)

plt.show()

可选调整:如果不需要展示参考线的说明文字,删掉label参数和ax.legend()代码即可;如果需要按照humidity分组绘制每组对应的DP Inlet均值参考线,可以先按humidity字段分组计算均值,再循环调用axhline匹配对应分组颜色绘制即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 12:48:09