ggplot2绘制条形图

重要细节:条形图的高度表示的是数据集中变量的频数,还是表示变量取值本身

1.离散型单变量的条形图
数据形式:已经汇总好的数据集和明细数据集

 # 使用汇总好的数据集绘制条形图
library(ggplot2)
x <- c("A","B","C","D","E")
y <- c(13,22,16,31,8)
df <- data.frame(x = x,y = y)
ggplot(data = df,mapping = aes(x = x,y = y))+geom_bar(stat = "identity")
# y轴绘制的是变量的本身取值,因此不需要再做变换{stat = "identity"}
# 而该参数的默认值是count
# 使用明细数据集绘制条形图
set.seed(12)
x <- sample(c("A","B","C","D"),size = 1000,replace = TRUE,prob = c(0.2,0.3,0.3,0.2))
y <- rnorm(1000)*1000
df <- data.frame(x = x,y = y)
ggplot(data = df,mapping = aes(x=x,y = ..count..))+geom_bar(stat = "count")
# 统计某个离散型变量出现的频次时,geom_bar()函数中stat(统计转换)参数用默认值,即"count"

如果需要对明细数据中的某个离散变量进行聚合(均值、求和、最大、最小、方差等)后再绘制条形图,可以用dplyr包中的group_by()和summarize()函数实现。

2.从x轴的数据类型来看:有字符型的x值,也有数值型的x值
上面的两幅图对应的x轴均为离散的字符型值,如果X值是数值型时:

set.seed(12)
x <- sample(c(1,2,4,6,7),size = 1000,replace = TRUE,prob = c(0.1,0.2,0.3,0.2,0.2))
ggplot(data = data.frame(x=x),aes(x = x,y = ..count..))+geom_bar(stat = "count")
# 此时直接用数值型变量作为条形图的x轴,我们会发现条形图之间产生空缺,这样的图并不美观。

# 将数值型的x转换为因子{
  factor(x)}
ggplot(data = data.frame(x = x),aes(x = factor(x),y = ..count..))+geom_bar()

# 设定条形的边框色和填充色
ggplot(data = data.frame(x = x),aes(x = factor(x),y = ..count..))+geom_bar(color = "black",fill = "blue")

输入colours(),可查看657中颜色的字符
输入colours()[grep(‘red’, colours())] 可查看与红色有关的字符

3.绘制并列条形图
以上条形图是基于一个离散型变量作为x轴,如果绘制多个离散型变量的条形图,


                
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值