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

如何在Seaborn双分布直方图中移除指定KDE曲线并保留所有直方图?

实现保留单个KDE曲线的双分布直方图

方法1:绘制后手动移除目标KDE曲线

sns.displot返回FacetGrid对象,我们可以通过它的轴元素找到并移除蓝色的KDE曲线,保留橙色KDE和两个直方图。

修改后的代码:

import seaborn as sns
import matplotlib.pyplot as plt

# 绘制双分布直方图及双KDE曲线
g = sns.displot(
    [Afa2['Normal Score Modified'], Afa2['Normal Score']],
    kde=True,
    stat='density',
    figsize=(15,10)
)

# 获取绘图轴上的所有线条(KDE曲线属于lines集合)
lines = g.axes[0,0].lines
# 蓝色KDE对应第一条线(索引0),直接移除
lines[0].remove()

# 设置坐标轴范围
plt.ylim(0,0.25)
plt.xlim(-3,3)
plt.show()

方法2:分开绘制直方图与单个KDE

先绘制不带KDE的双分布直方图,再单独为橙色分布添加KDE曲线,逻辑更清晰可控。

修改后的代码:

import seaborn as sns
import matplotlib.pyplot as plt

plt.figure(figsize=(15,10))

# 绘制两个分布的直方图,关闭KDE
sns.histplot(
    data=[Afa2['Normal Score Modified'], Afa2['Normal Score']],
    stat='density',
    kde=False
)

# 单独为第二个分布(橙色)绘制KDE曲线
sns.kdeplot(data=Afa2['Normal Score'], stat='density')

# 设置坐标轴范围
plt.ylim(0,0.25)
plt.xlim(-3,3)
plt.show()

内容的提问来源于stack exchange,提问作者Benjamin Bigarré

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:22:14