R语言|簇状条形图(二)———R语言数据可视化系列(三)

建立数据

巧妇难为无米之炊,按例我得先搬出我得伙伴们。这次为了让图像效果更加好看,对数据进行了稍微的调整。

绝不是剧里真实的信息
姓名性别科目成绩
顾未易语文97
顾未易数学95
顾未易英语89
司徒末语文84
司徒末数学81
司徒末英语91
宁为谨语文98
宁为谨数学86
宁为谨英语88
郑叮叮语文86
郑叮叮数学84
郑叮叮英语95
韩商言语文92
韩商言数学87
韩商言英语85
佟年语文92
佟年数学87
佟年英语91
## 簇状条形图
### 数据建立
name_cz <- c(rep(c("顾未易", "司徒末", "宁为谨",
                   "郑叮叮", "韩商言", "佟年"), each = 3))     # 姓名   
sex_cz <- c(rep(c(rep(c("男", "女"), each = 3)), 3))           # 性别
subject <- c(rep(c("语文", "数学", "英语"), 6))                # 科目
score_cz <- c(97,95,89,84,81,91,98,86,88,86,84,                # 成绩
              95,92,87,85,92,87,91)
data_cz <- data.frame(name_cz, sex_cz, subject, score_cz)      # 合并为数据框

如果对代码中rep()函数不太了解的可移步观看R语言|数据结构(一) 向量 ———R语言入门到入土系列(二)文章。
在有了数据基础后,就可以进行数据的可视化工作。

绘制簇状条形图

### 基本簇状条形图
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+     # 选择xy轴的数据
  geom_bar(position = "dodge", stat = "identity")                   # 作出簇状条形图 

在这里插入图片描述
由于没有对颜色进行填充,这边显示的是系统默认的颜色配色,并且条没有框。为了使其漂亮一些,进而加工。

条形图着色

具体和普通条形图着色方式一样。

### 更改颜色加黑框
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = "dodge", stat = "identity", colour = "black")+     # colour加条的边框
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色

在这里插入图片描述

条的大小更改

与普通条形图更改一样。为了使得对比效果更加明显,则将数值设置为了0.2。

### 更改条的大小
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = "dodge", stat = "identity", width = 0.2 )+         # width更改条的大小
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色

在这里插入图片描述

条形图间间距

geom_bar()函数中的参数改为position_dodge(with= num),当num越大则,条之间的大小越大。

ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = position_dodge(width = 1),                         # colour加条的边框
           stat = "identity" )+                           
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色

在这里插入图片描述

堆积条形图

堆积条形图与簇状条形图的区别在于geom_bar()函数中的position的设置,不予任何设置时就是堆积条形图。针对于颜色,大小的改变与前面一样。下面不给讲解了。

### 堆积条形图
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行堆积
  geom_bar(stat = "identity" )            

在这里插入图片描述

完整代码仅供参考

## 簇状条形图
### 数据建立
name_cz <- c(rep(c("顾未易", "司徒末", "宁为谨",
                   "郑叮叮", "韩商言", "佟年"), each = 3))     # 姓名   
sex_cz <- c(rep(c(rep(c("男", "女"), each = 3)), 3))           # 性别
subject <- c(rep(c("语文", "数学", "英语"), 6))                # 科目
score_cz <- c(97,95,89,84,81,91,98,86,88,86,84,                # 成绩
              95,92,87,85,92,87,91)
data_cz <- data.frame(name_cz, sex_cz, subject, score_cz)      # 合并为数据框

### 基本簇状条形图
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+     # 选择xy轴的数据
  geom_bar(position = "dodge", stat = "identity")                   # 作出簇状条形图 

### 更改颜色加黑框
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = "dodge", stat = "identity", colour = "black")+     # colour加条的边框
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色
 
### 更改条的大小
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = "dodge", stat = "identity", width = 0.2 )+         # width更改条的大小
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色

### 更改条之间的间距
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行填充颜色
  geom_bar(position = position_dodge(width = 1),                         # colour加条的边框
           stat = "identity" )+                           
  scale_fill_manual(values = c("#363433", "#aa6a4c", "#b89485"))         # 用色号进行调色

### 堆积条形图
ggplot(data_cz,aes(x = name_cz, y = score_cz, fill = subject))+          # 按照学科进行堆积
  geom_bar(stat = "identity" )  

创作不易,都浏览到这儿了,看官可否将下面的收藏点赞帮忙点亮。

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭记yu心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值