- R数据可视化手册(第2版)
- (美)温斯顿·常
- 372字
- 2025-04-05 09:52:10
2.4 绘制直方图
问题
如何绘制直方图来查看一维数据的分布特征?
方法
可以使用hist()
函数绘制直方图(见图2-8),使用时需向其传递一个向量:
hist(mtcars$mpg)
# 通过breaks参数指定大致组距
hist(mtcars$mpg, breaks = 10)
图2-8:使用基础绘图系统绘制的直方图(左图);有更多分组的直方图(右图)。注意:右图中由于组距变小,每组对应的样本数也有所减少
对于ggplot2包,可以使用geom_histogram()
函数得到类似的绘图结果(见图2-9):
library(ggplot2)
ggplot(mtcars, aes(x = mpg)) +
geom_histogram()
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
# 更大的组距
ggplot(mtcars, aes(x = mpg)) +
geom_histogram(binwidth = 4)
图2-9:使用ggplot2绘制的直方图:组距为默认值(左图);组距更大的直方图(右图)
当你不设定组距而直接创建一个直方图时,ggplot()
函数会打印一行信息提示你默认组距为30,请选择一个更适合的组距。这是因为使用不同的组距探索数据是非常重要的;在默认设定30的情况下直方图可能展示数据的一些有用信息,但也可能无法给你有效的帮助。
另见
关于绘制直方图的更多内容,参见6.1节和6.2节。