我尝试在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)
添加回答
举报
0/150
提交
取消