ggplot 中的 geom_bar 和 geom_histogram 有什么区别(如果有的话)?它们似乎产生相同的情节并采用相同的参数。
3 回答
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 都是层(重点略有不同)。
geom_bar 和 geom_histogram 的默认行为相同。这是因为(正如@csgillespie 所提到的),当您调用 geom_histogarm (可以理解)时,有一个隐含的 stat_bin,它也是应用于 geom_bar 的默认统计转换(可争论的行为 IMO)。这就是为什么您需要指定stat='identity'
何时按原样绘制数据。
stat='bin'
orstat_bin()
是 ggplot 为您执行的统计转换。它为您提供用两个点(..count..
和.)包围的变量作为输出..density..
。如果您不指定stat='bin'
,您将不会获得这些变量。
geom_bar()
是因为 x 和 y 值都是分类数据——所以两个条之间有空格,因为 x 值是具有不同水平的因子。
geom_histogram()
用于一个连续数据和一个分类数据。通常我们将连续数据放在 x 轴上(因此条形图相互接触,因为它们是连续的)并将分类数据放在 y 轴上。
我们可以使用另一个图来显示上述情况(1 分类 1 连续)-- geom_boxplot()
。通常我们使用 y 轴来表示连续数据,因为它将是一个垂直的盒须。