python - 如何在 for 循环中获取 seaborn 的 distplot 的线拟合数据?
问题描述
我尝试在 for 循环中获取 seaborn 中 distplot 的线数据。但是当我执行此代码时,即使列表 X 的所有元素都不同,它也会打印相同的值。请让我知道为什么会这样
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()[0].get_data()
print(dist_data_1)
解决方案
您在同一轴上绘制所有分布,因此您在每次迭代时添加新线。但是,您总是从第一行(索引[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)
推荐阅读
- python - 亚马逊刮痧美汤
- karate - 在场景中使用匹配的正确语法
- android - 在Android上制作具有功能的壁纸
- html - VS Code 关闭自动格式化程序的 wrapAttributes
- ios - iOS Safari - 在网络检查器中进行更改之前,图像不可见
- qlikview - NPrinting 错误 (Qlikview) - 地址 0040A3EF 的访问冲突
- php - Firebase php sum 字段硬币
- java - javax.activation.UnsupportedDataTypeException:在尝试发送电子邮件时没有对象 DCH 用于 MIME 类型图像/png
- java - 如何水平获取thymleaf中数据库的结果(连续4条记录)
- css - Z-index 堆叠顺序故障 - 更正文档点击