写在前面。
很多时候在处理数据前或者出图前,可能需要先对数据整体情况进行了解。这个时候我们可以用到R基础绘图的语句
和ggplot2
完成目标。
接下来,我们分不同的图形类型
进行啃书学习。
3. 绘制条形图
如何绘制条形图?
使用R中的数据集BOD
作为示例数据。
> str(BOD)
'data.frame': 6 obs. of 2 variables:
$ Time : num 1 2 3 4 5 7
$ demand: num 8.3 10.3 19 16 15.6 19.8
- attr(*, "reference")= chr "A1.4, p. 270"
- 使用R基础绘图系统
使用barplot()
函数,传递两个参数
,第一个是确定bar
高度的向量;第二个是可选参数
,设定每条bar
对应的标签。
barplot(BOD$demand, names.arg = BOD$Time)
有时候,条形图绘制的是分组数据中元素的频数,和直方图类似,不过x
轴是离散取值
。
计算向量中各个类别的频数,使用table
函数:
> table(mtcars$cyl)
4 6 8
11 7 14
基础绘图系统默认绘制的图形和将上述频数表传递给barplot
为参数绘制的图形分别如下:
barplot(mtcars$cyl)
barplot(table(mtcars$cyl))
- 使用ggplot2
> qplot(BOD$Time, BOD$demand, geom = "bar", stat = "identity" )
Error:
! The `stat` argument of `qplot()` was deprecated in ggplot2 2.0.0 and is
now defunct.
Run `rlang::last_trace()` to see where the error occurred.
qplot
默认绘制条形图
,目前已经被弃用
,我们使用ggplot2
常用的语句形式:
ggplot(data = BOD, aes(Time, demand) ) + geom_bar(stat = "identity")
默认是连续性取值绘制频数分布,要绘制离散型,只需将向量转换为因子
。
ggplot(data = mtcars, aes(x = factor(cyl)) ) + geom_bar()
以上。