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 #高度
)