在seaborn的配对图中直方图的高度是多少?

时间:2015-08-06 16:55:03

标签: python matplotlib histogram seaborn

我对直方图的y轴有疑问,这是在带有seaborn的默认配对图中生成的。

以下是一些示例代码:

import pandas as pd
import seaborn as sns
import numpy as np

data = [np.random.random_sample(20), np.random.random_sample(20)]
dataFrame = pd.DataFrame(data=zip(*data))
g = sns.pairplot(dataFrame)
g.savefig("test.png", dpi=100)

对角放置直方图中y轴的单位是多少?如何在此视图中读取bin的高度?

非常感谢,
克里斯

1 个答案:

答案 0 :(得分:4)

默认情况下,pairplot使用对角线来显示"显示该列中变量的数据的单变量分布" (http://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.pairplot.html)。

因此,每个条形表示相应bin中的值的计数(可以从X轴获得)。但是,Y轴与实际计数不对应,而是与散点图相对应。

我无法从PairPlot本身获取数据,但如果您不这样说,则seaborn会使用plt.hist()生成该对角线,因此您可以使用以下方式获取数据:< / p>

import matplotlib.pyplot as plt
%matplotlib inline
import pandas as pd
import seaborn as sns
import numpy as np

data = [np.random.random_sample(20), np.random.random_sample(20)]
dataFrame = pd.DataFrame(data=zip(*data))
g = sns.pairplot(dataFrame)

enter image description here

# for the first variable:
c, b, p = plt.hist(dataFrame.iloc[:,0])
print c
# [ 3.  6.  0.  2.  3.  0.  1.  3.  1.  1.] 

enter image description here