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

如何使用Seaborn在同一张图中绘制数组两列数据的KDE曲线

实现方法

你可以直接两次调用sns.kdeplot()分别传入两列数据,Seaborn会自动把曲线叠加在同一张画布上,也可以把数组转为DataFrame格式后直接传入,自动生成图例区分两条曲线,两种方案代码如下:

方案1:直接传入两列数组(最简单)

import seaborn as sns
import matplotlib.pyplot as plt

sns.set_style('whitegrid')
# 分别绘制两列的KDE曲线,指定label方便区分
sns.kdeplot(data=score_for_modelA[:,0], label='第一列得分')
sns.kdeplot(data=score_for_modelA[:,1], label='第二列得分')
# 显示图例
plt.legend()
# 脚本运行场景下需要加下面这行显示图像
plt.show()

方案2:转为DataFrame后批量绘制(适合多列场景)

如果后续列数变多,转成pandas的DataFrame格式会更方便,不用重复写kdeplot代码:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

sns.set_style('whitegrid')
# 把numpy数组转为DataFrame,给两列自定义命名
df = pd.DataFrame(score_for_modelA, columns=['模型得分A', '模型得分B'])
# 直接传入整个DataFrame,seaborn会自动为所有数值列绘制KDE并生成图例
sns.kdeplot(data=df)
plt.show()

两种方案都会自动把两条KDE曲线绘制在同一张图中,你可以根据需要给kdeplot添加color、linewidth等参数自定义曲线样式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:24:07