Python中的Seaborn Distplot

时间:2019-06-21 17:08:39

标签: python-3.x plot visualization seaborn

我正在处理泰坦尼克号数据集。为了可视化数据分布,我正在使用Seaborn绘图方法,但我无法理解distplot的参数及其最终输出。 我想知道以下各行中使用的参数(参数)的用法,尤其是bins和axes [0]和kde = False的用法。

ax = sns.distplot(women[women['Survived']==1].Age.dropna(), bins=18, 
                  label = survived, ax = axes[0], kde =False)

ax = sns.distplot(women[women['Survived']==0].Age.dropna(), bins=40, 
                  label = not_survived, ax = axes[0], kde =False)

Graph

我已经在文档中搜索了distplot并浏览了网络,但是没有清楚地写出任何内容。

2 个答案:

答案 0 :(得分:0)

  1. 轴[0]

根据您的代码,我假设axes应该是Axes对象的列表,而axes[0]表示您访问列表中的第一个对象。当您使用ax=axes[0]时,表示您希望绘图位于左侧。请参阅此helpful post

  1. kde = False

默认情况下,kernel density estimation和直方图都是Seaborn图,kde=False表示您想隐藏它而只显示直方图。

  1. 垃圾箱

从统计上讲,直方图是一种非参数估计,其形状反映了数据的分布。垃圾箱的数量会影响形状。因此,如果您想让绘图代表数据分布,则不应该只是随机选择一个箱号。决定垃圾箱数量的最常见方法是使用Freedman–Diaconis rule,这也是.distplot()中的默认设置。换句话说,当您使用.distplot()函数显示数据分布时,最好不要指定bin参数。

答案 1 :(得分:0)

首先,我们尝试了解什么是distplot? Distplot是seaborn python库的功能。表示如下: sns.seaborn()

它用于绘制季节性直方图

现在,在您的脑海中可能是质疑已到,为什么我要绘制直方图。直方图有助于可视化条形形式的数字类型数据集。

在y轴上,按照给出的"women['Survived']==1"[women['Survived']==0]给出数值数据集

在x轴上给出垃圾箱。这意味着按照给定的bins= 18bins = 40在特定范围内分配给定的数据集并以条形显示 enter image description here

现在,我正在显示seaborn sns.distplot()

的语法
Syntax: sns.distplot(
                                     a,
                                     bins=None,
                                     hist=True,
                                     kde=True,
                                     rug=False,
                                     fit=None,
                                     hist_kws=None,
                                     kde_kws=None,
                                     rug_kws=None,
                                     fit_kws=None,
                                     color=None,
                                     vertical=False,
                                     norm_hist=False,
                                     axlabel=None,
                                     label=None,
                                     ax=None,
                                    )

使用以上参数,您可以很好地绘制直方图 请按照此出色的教程来绘制seaborn histogram using sns.distplot