从Seaborn对图获取数据数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Seaborn对图获取数据数组相关的知识,希望对你有一定的参考价值。
我使用了seaborn pairplot函数,并想提取一个数据数组。
import seaborn as sns
iris = sns.load_dataset("iris")
sns.pairplot(iris, hue="species")
我想获得下面以black颜色显示的点的数组:
谢谢。
仅此行:
data = iris[iris['species'] == 'setosa']['sepal_length']
您对蓝线感兴趣,因此,'setosa'
详细说明。为了过滤iris
数据帧,我创建了此过滤器:
iris['species'] == 'setosa'
这是一个布尔数组,如果True
数据帧的'species'
列中的对应行为iris
,则值为'setosa'
,否则为False
。使用此行代码:
iris[iris['species'] == 'setosa']
我将过滤器应用于数据框,以便仅提取与'setosa'
种类关联的行。最后,我提取'sepal_length'
列:
iris[iris['species'] == 'setosa']['sepal_length']
如果我使用以下代码为此数据数组绘制KDE:
data = iris[iris['species'] == 'setosa']['sepal_length']
sns.kdeplot(data)
我得到:
这就是您感兴趣的上方图
这些值通过计算KDE的方式与上面的图不同。我引用此reference:
[密度图中的y轴是 核密度估计。但是,我们需要注意 指定这是一个概率密度,而不是概率。的 差异是概率密度是单位概率 x轴。要转换为实际概率,我们需要找到 在x轴上特定距离处的曲线下面积。有些 令人困惑的是,因为这是概率密度,而不是 概率,y轴可以取大于1的值。唯一的 密度图的要求是曲线下的总面积 集成到一个。我通常倾向于将y轴 密度图仅作为相对值之间的比较的值 不同类别。
以上是关于从Seaborn对图获取数据数组的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib 循环遍历 seaborn 图中的轴以获取多个子图
TypeError:在绘制 seaborn.regplot 时,无法根据规则“安全”将数组数据从 dtype('int64') 转换为 dtype('int32')