ggplot geom_bar vs geom_histogram

时间:2013-01-03 11:42:20

标签: r ggplot2

ggplot中geom_bar和geom_histogram之间有什么区别(如果有的话)?它们似乎产生相同的图并采用相同的参数。

2 个答案:

答案 0 :(得分:13)

  • 条形图提供分类数据的直观呈现。例子:
    • 有红色,黑色和棕色头发的人数
    • 查看geom_bar help file。这些例子都是重要的。
    • 维基百科page
  • 直方图用于绘制interval(通常为数字)数据的密度。例子,
    • 年龄和身高的分布
    • geom_hist help file。这些例子是电影评级的分布。

<强> GGPLOT2

经过一番调查后,我认为在ggplot2中geom_bargeom_histogram之间没有区别。来自文档:

 geom_histogram(mapping = NULL, data = NULL, stat = "bin",
    position = "stack", ...)
 geom_bar(mapping = NULL, data = NULL, stat = "bin",
    position = "stack", ...)

我意识到它在geom_histogram文档中声明:

  

geom_histogram是geom_bar和stat_bin

的别名

但说实话,我不确定这意味着什么,因为我对ggplot2的理解是stat_bin和geom_bar都是图层(重点略有不同)。

答案 1 :(得分:3)

geom_bar和geom_histogram的默认行为相同。这是因为(和@csgillespie提到的那样),当你调用geom_histogarm(可理解)时,有一个隐含的stat_bin,它也是应用于geom_bar的默认统计变换(可论证的行为IMO)。这就是为什么在需要按原样绘制数据时需要指定stat='identity'的原因。

stat='bin'stat_bin()是ggplot为您做的统计转换。它为您提供了包含两个点(..count....density..的变量的输出。如果您没有指定stat='bin',则不会获得这些变量。