【R数据可视化手册-条形图
/data & package/
rm(list = ls())
library(ggplot2)
library(gcookbook) ## 为使用数据
library(plyr) ## 为使用函数arrange()、ddply()、transform()
数据预览
diamonds的每行数据对应一颗钻石的品质
uspopchange描述美国各个州不同年份的人口变化情况
tophit中变量lg的两个取值,分别表示国家队(NL)和美国队(AL)
1/基本语法
# 真实值条形图的基本语法
ggplot(data, aes(x, y)) + geom_bar(stat = "identity")
# 向geom_bar()传递参数stat="identity"意为,y轴是对应数据的真实值
# 频数条形图的基本语法
ggplot(data, aes(x)) + geom_bar()
# 相当于向geom_bar()传递了默认值stat="bin",意为按照x的分组计算每组频数
# 真实值条形图的例子
ggplot(pg_mean, aes(x = group, y = weight)) +
geom_bar(stat = "identity")
# 频数条形图的例子
ggplot(diamonds, aes(x = cut)) +
geom_bar()
如果x对应变量为连续型变量,geom_bar()和geom_histogram()的效果类似;如果将x对应变量视为因子型,则可以使用factor()对数据进行转化;此时x轴的分类就可能不是连续的
# x轴对应因子型变量的例子
ggplot(BOD, aes(x = Time, y = demand)) +
geom_bar(stat = "identity)
添加数据标签,需要向geom_text()传递标签的值和坐标、颜色、大小等参数;使用vjust调节y方向时,可以想像一条正方向朝下、条形顶端中心为零点的坐标轴
ggplot(cabbage_exp, aes(x = interaction(Date, Cultivar), y = Weight)) +
geom_bar(stat = "identity") +
geom_text(aes(label = Weight, y = Weight + 0.1), # 增大y轴的范围,为防止可能的标签溢出
vjust = 2, colour