2016-08-24 35 views
1

我试图让Seaborn kdeplot示例在我的数据集上工作。出于某种原因,我的一个数据集完全没有绘图,但另一个似乎正在绘图。为了得到一个最小的工作示例,我从我的非常大的数据集中只抽取了10行。Seaborn kdeplot不能绘制一些数据?

我输入的数据是这样的:

#Dataframe dfA 
    index x  y  category 
0 595700 5 1.000000 14.0 
1 293559 4 1.000000 14.0 
2 562295 3 0.000000 14.0 
3 219426 4 1.000000 14.0 
4 592731 2 1.000000 14.0 
5 178573 3 1.000000 14.0 
6 553156 4 0.500000 14.0 
7 385031 1 1.000000 14.0 
8 391681 3 0.999998 14.0 
9 492771 2 1.000000 14.0 

# Dataframe dfB 
    index x  y  category 
0 56345 3 1.000000 6.0 
1 383741 4 1.000000 6.0 
2 103044 2 1.000000 6.0 
3 297357 5 1.000000 6.0 
4 257508 3 1.000000 6.0 
5 223600 2 0.999938 6.0 
6 44530 2 1.000000 6.0 
7 82925 3 1.000000 6.0 
8 169592 3 0.500000 6.0 
9 229482 4 0.285714 6.0 

我的代码片段看起来是这样的:

为什么不从数据框中dfA数据实际绘图?

+2

您是只创建一个坐标轴对象并将它们绘制到同一个坐标系中(甚至不需要绘制坐标轴)?关于'''f,axarr = plt.subplots(2)'''''sns.kdeplot(dfA.x,dfA.y, cmap =“Reds”,shade = True,shade_lowest = False,ax = axarr [0])'''+ sns.kdeplot(dfB.x,dfB.y, cmap =“Blues”,shade = True,shade_lowest = False,ax = axarr [1])''' – sascha

+1

我试图在同一轴上绘制两者。但即使我评论第二条情节评论,dfA也不会出现 – Joe

回答

1

我不认为高斯KDE很适合您的任何数据集。你有一个具有离散值的变量和一个变量,其中大部分值似乎是常数。这不能很好地通过二元高斯分布建模。

至于究竟发生了什么,如果没有完整的数据集,我不能肯定地说,但我期望KDE带宽(特别是在y轴上)结束非常非常窄,使得具有不可忽略的密度的区域是小。你可以尝试设置更宽的带宽,但是我的建议是使用不同类型的数据。