为了账号安全,请及时绑定邮箱和手机立即绑定

如何在for循环中获得seaborn distplot的线拟合数据?

如何在for循环中获得seaborn distplot的线拟合数据?

森林海 2023-12-26 16:57:00
我尝试在for循环中获取seaborn中distplot的行数据。但是当我执行此代码时,即使列表 X 的所有元素都不同,它也会打印相同的值。请告诉我为什么会发生这种情况import numpy as npimport seaborn as sns import matplotlib.pyplot as plt x1 = np.random.normal(10,3,size=100)x2 = np.random.normal(8,2,size=100)x3 = np.random.normal(7,2,size=100)x4 = np.random.normal(11,5,size=100)X = [x1, x2, x3, x4]for i in X:    dist_data_1 = sns.distplot(i).get_lines()[0].get_data()    print(dist_data_1)
查看完整描述

1 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

您正在同一轴上绘制所有分布,因此您在每次迭代时添加新线。但是,您始终从第一行(索引)检索数据[0]。


相反,您应该从最后一行(索引)检索数据[-1]:


import numpy as np

import seaborn as sns 

import matplotlib.pyplot as plt 


x1 = np.random.normal(10,3,size=100)

x2 = np.random.normal(8,2,size=100)

x3 = np.random.normal(7,2,size=100)

x4 = np.random.normal(11,5,size=100)


X = [x1, x2, x3, x4]


for i in X:

    dist_data_1 = sns.distplot(i).get_lines()[-1].get_data()

    print(dist_data_1)


查看完整回答
反对 回复 2023-12-26
  • 1 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信