【问题标题】:Plot overlapping histogram plot in seaborn在 seaborn 中绘制重叠直方图
【发布时间】:2021-05-11 13:52:45
【问题描述】:

我想在 seaborn 中绘制两个重叠得很好的直方图,这是我的代码:

sns.histplot(data=data[feature_1], color='r')
sns.histplot(data=data[data.feature_2 == 1][feature_1], color='g')

它给出了我想要的 2 个可能值的结果:

但对于多个值,它不太适合:

有什么想法或建议让这个看起来不错?

【问题讨论】:

    标签: python seaborn histogram


    【解决方案1】:

    第二个图中的问题是直方图在数据的最小值和最大值之间定义了一些 bin(可能大约 10 个;这取决于数据集的大小和方差)。当您有少量整数值时,这并不理想。如果添加 discrete=True,它将定义以(包括)最小值和最大值之间的每个数字为中心的 bin,产生与分类数据直方图相似的效果。

    对于分类数据,很容易推断出您希望 bin 对应于唯一的数据值。当数据是数字时更困难。如果 dtype 是整数,您可能会认为这是有道理的,但会想到明显的反例。想象一下人口中年龄的直方图,甚至更糟的是工资。在这些情况下,单位宽度的 bin 太小了。所以离散分箱对于数字数据是严格的选择。

    【讨论】: