R语言的ggplot2绘制分组折线图?

发布时间:2024年01月21日

R绘制分组折线图.R

首先看数据情况:group有3组。Time有3组,数据意思是在3组3个时间点测量了某指标,现在要绘制组1、组2、组3某指标y按时间的变化趋势

数据情况:

看看最终的效果图如下:

下面是本次使用的代码

.libPaths()

setwd("C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘制分组折线图")#设置工作空间
getwd()#加载工作空间

##导入数据
data1<-read.csv("C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘制分组折线图/data.csv",
????????????????as.is =?TRUE,header =?T,sep =?",", fileEncoding='utf-8')

#加载包
library(ggplot2)
library(ggsci)#画图颜色的包
#处理数据,将分类变量变为分类的
data1$group<-as.factor(data1$group)
p1<-ggplot(data =?data1,
???????aes(x=时间, ???#x轴变量
???????????y=y, ???????#y轴变量
???????????group=group, #分组变量
???????????color=group))+
??geom_point(size=2)+
??geom_line(size=1)

#美化
p1<-p1+
??labs(x="时间",y="均值")+#坐标名称
??scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
??scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
??theme_bw()+?#去掉背景灰色
??theme(panel.grid =?element_blank())+?#删除背景网格
??scale_color_manual(
????values =?c("1"?=?"#bd2628", ?
???????????????"2"?=?"#B09C85FF",
???????????????"3"?=?"#4DBBD5FF"))

p1

#另外还可以选择组1、组2、组3其中两组作图
library(dplyr)#这个包加载了才能用下面的函数

#筛选group=1和group=2
data12<-?data1 %>%
?????filter(group %in%?c("1", "2"))
#筛选group=1和group=3
data13<-?data1 %>%
??filter(group %in%?c("1", "3"))
#筛选group=2和group=3
data23<-?data1 %>%
??filter(group %in%?c("2", "3"))

#绘制group=1和group=2
p12<-ggplot(data =?data12,
???????????aes(x=时间, ???#x轴变量
???????????????y=y, ???????#y轴变量
???????????????group=group, #分组变量
???????????????color=group))+
??geom_point(size=2)+
??geom_line(size=1)
#美化
p12<-p12+
??labs(x="时间",y="均值")+#坐标名称
??scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
??scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
??theme_bw()+?#去掉背景灰色
??theme(panel.grid =?element_blank())+?#删除背景网格
??scale_color_manual(
????values =?c("1"?=?"#bd2628", ?
???????????????"2"?=?"#B09C85FF",
???????????????"3"?=?"#4DBBD5FF"))

p12

#绘制group=1和group=3
p13<-ggplot(data =?data13,
????????????aes(x=时间, ???#x轴变量
????????????????y=y, ???????#y轴变量
????????????????group=group, #分组变量
????????????????color=group))+
??geom_point(size=2)+
??geom_line(size=1)
#美化
p13<-p13+
??labs(x="时间",y="均值")+#坐标名称
??scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
??scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
??theme_bw()+?#去掉背景灰色
??theme(panel.grid =?element_blank())+?#删除背景网格
??scale_color_manual(
????values =?c("1"?=?"#bd2628", ?
???????????????"2"?=?"#B09C85FF",
???????????????"3"?=?"#4DBBD5FF"))

## Scale for colour is already present.
## Adding another scale for colour, which will replace the existing scale.

p13

#绘制group=2和group=3
p23<-ggplot(data =?data23,
????????????aes(x=时间, ???#x轴变量
????????????????y=y, ???????#y轴变量
????????????????group=group, #分组变量
????????????????color=group))+
??geom_point(size=2)+
??geom_line(size=1)
#美化
p23<-p23+
??labs(x="时间",y="均值")+#坐标名称
??scale_fill_lancet()+#表示用lancet里面的颜色随机填充线条
??scale_color_lancet()+#表示用lancet里面的颜色随机填充线条
??theme_bw()+?#去掉背景灰色
??theme(panel.grid =?element_blank())+?#删除背景网格
??scale_color_manual(
????values =?c("1"?=?"#bd2628", ?
???????????????"2"?=?"#B09C85FF",
???????????????"3"?=?"#4DBBD5FF"))

p23

##保存图片
ggsave(filename =?"p1.png",#命名
???????plot=p1,#哪张图
???????units="px",
???????width =?1200,#宽度
???????height =?600?#高度
)

ggsave(filename =?"p12.png",#命名
???????plot=p12,#哪张图
???????units="px",
???????width =?1200,#宽度
???????height =?600?#高度
)

ggsave(filename =?"p13.png",#命名
???????plot=p13,#哪张图
???????units="px",
???????width =?1200,#宽度
???????height =?600?#高度
)

ggsave(filename =?"p23.png",#命名
???????plot=p23,#哪张图
???????units="px",
???????width =?1200,#宽度
???????height =?600?#高度
)

文章来源:https://blog.csdn.net/kaiming000/article/details/135698670
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。