写在前面。
条形图一般用来展示不同分类下(x轴)某个数值型变量的取值(y轴)。注意,条形的高度,有时是变量的频数
,有时是变量的取值本身
,需要注意区分。
条形图
我没有按照书中的章节顺序,而是根据条形高度映射数据类型
、图形位置
和图形元素
进行了分类整合,使脉络更清晰,知识点更集中。
同时随着ggplot2包的更新,书中的一些用法也已经不适用了,因此会做一些更正。
所使用的一些示例数据需要安装加载包gcookbook,同时也需要加载ggplot2。
if(!require(gcookbook) ) install.packages("gcookbook")
library(gcookbook)
library(ggplot2)
另外,ggplot2绘图的常用基本语句需要知道:
ggplot(data = , aes(x= , y = ) ) + geom_xxxx() + ...
2. 图形位置
在ggplot
语句中,通过映射一个分类变量给aes
语句的fill
参数,根据不同的变量值给条形分配不同的填充颜色
,然后设定不同的位置排列
,分为簇状(并排排列)
和堆积
两种。
2.2 堆积条形图
如何绘画堆积条形图?
geom_bar
默认是绘制堆积条形图的,只需给fill
映射变量即可。
使用的示例数据是cabbage_exp
数据集。
ggplot(data = cabbage_exp, aes(x= Date ,y = Weight, fill = Cultivar )) +
geom_bar( stat = "identity")
[图片上传失败...(image-daa59-1694651662448)]
- 如果想调整图例的顺序,可以使用
guides
语句:
ggplot(data = cabbage_exp, aes(x= Date ,y = Weight, fill = Cultivar )) +
geom_bar( stat = "identity") +
guides(fill = guide_legend(reverse = TRUE))
[图片上传失败...(image-3c50bb-1694651662448)]
- 如果想调整条状的堆叠顺序,可以使用
factor
语句调整分组变量的因子水平
cabbage_exp$Cultivar_ <- factor(cabbage_exp$Cultivar, levels = c("c52" ,"c39") ,ordered = TRUE)
ggplot(data = cabbage_exp, aes(x= Date ,y = Weight,
fill = Cultivar_ ) ) +
geom_bar( stat = "identity")
[图片上传失败...(image-3b8d0a-1694651662448)]
网友评论