matplotlib 如何从kdeplut中提取x值和y值

vltsax25  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(138)

假设我有一个seaborn.kdeplot,我想提取xy点。基于类似的问题,我尝试了以下方法:

points = sns.kdeplot(targets, shade=True, label='train').get_lines()[0].get_data()
x      = points[0]
y      = points[1]

但我得到的是错误

Traceback (most recent call last):
  File "<string>", line 10, in <module>
IndexError: list index out of range

我使用seaborn==0.12.2matplotlib==3.7.1

kkih6yb8

kkih6yb81#

由于您请求shade=True(在最新的seaborn版本中使用fill=True),因此输出轴对象不包含Line2D对象(而是包含PolyCollection)。如果您删除shade=True,则可以按照给予的方式提取数据:

ax = sns.kdeplot(targets, label='train')
points = ax.get_lines()[0].get_data()
x = points[0]
y = points[1]

相关问题