17

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

4

3 回答 3

17
  • 条形图提供分类数据的可视化表示。例子:
    • 红色、黑色和棕色头发的人数
    • 查看geom_bar 帮助文件。这些例子都是重要的。
    • 维基百科页面
  • 直方图用于绘制间隔(通常是数字)数据的密度。例子,
    • 年龄和身高分布
    • geom_hist 帮助文件。这些例子是电影评级的分布。

ggplot2

geom_bar经过一番调查,我认为在 ggplot2和之间没有区别geom_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 都是层(重点略有不同)。

于 2013-01-03T11:45:22.010 回答
3

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

stat='bin'orstat_bin()是 ggplot 为您执行的统计转换。它为您提供用两个点(..count..和.)包围的变量作为输出..density..。如果您不指定stat='bin',您将不会获得这些变量。

于 2015-10-12T17:05:22.273 回答
0

geom_bar()是因为 x 和 y 值都是分类数据——所以两个条之间有空格,因为 x 值是具有不同水平的因子。

geom_histogram()用于一个连续数据和一个分类数据。通常我们将连续数据放在 x 轴上(因此条形图相互接触,因为它们是连续的)并将分类数据放在 y 轴上。

我们可以使用另一个图来显示上述情况(1 分类 1 连续)-- geom_boxplot()。通常我们使用 y 轴来表示连续数据,因为它将是一个垂直的盒须。

于 2021-09-08T06:54:20.737 回答