• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

R语言ggplot2折线图代码 多个时间点折线图 误差线

武飞扬头像
CodeMed
帮助1


title: “[R语言] ggplot2作图模板”
date: 2021-03-15
lastmod: 2021-03-15
draft: false
tags: [“R语言”,“ggplot2”]
categories: [“R语言”,“ggplot2”]
autoCollapseToc: true

学新通

多个时间点的折线图

学新通

折线图代码
# 创建示例数据
# 例如 "ID"    "Group" "Time1" "Time2" "Time3"
data=data.frame(ID=paste0("A",c(1:100)),
             Group=rep(letters[1:4],each=25), #4个分组
                Time1=rnorm(n = 100,mean = 10,sd = 3) ,
                Time2=rnorm(n = 100,mean = 15.5,sd = 7),
                Time3=rnorm(n = 100,mean = 7.2,sd = 5)
                )

# 长宽数据转化
data2=tidyr::pivot_longer(data, cols = 3:5, 
                          names_to ="Time", values_to = "value")
# 正态性检测
tapply(data2$value,data2$Group,shapiro.test)
# 计算均数和标准差
data3_mean=tapply(data2$value,list(data2$Group,data2$Time),mean) 
data3_sd=tapply(data2$value,list(data2$Group,data2$Time),sd) 

data3 <- as.data.frame(data3_mean)
data3=tibble::rownames_to_column(data3,var="Group")
data4=pivot_longer(data3, cols = 2:4, 
                   names_to ="Time", values_to = "value")

data3_2 <- as.data.frame(data3_sd)
data3_2=tibble::rownames_to_column(data3_2,var="Group")
data4_2=pivot_longer(data3_2, cols = 2:4, 
                     names_to ="Time", values_to = "sd")
data4=merge(data4,data4_2,all = TRUE)

# [作图]
p1=ggplot(data4, mapping = aes(x = Time, y = value,
                               color=Group,fill=Group))   
  geom_point()  xlab("xx") ylab("xxx") 
  geom_line(aes(group=Group)) 
  theme_bw() theme(legend.position="right",);p1

#加误差线
data4$lowSD=data4$value-data4$sd
data4$highSD=data4$value data4$sd

p2=p1 geom_errorbar(data=data4,
      aes(y=value, ymin=lowSD, ymax=highSD,group=Group), 
                    width=0.2);p2

#移除网格线 (但不移除背景颜色和边界线) 
# theme(panel.grid.major=element_blank(),panel.grid.minor=element_blank())

# [导图参数]
ggsave(paste0("图1.png"), p1, width=420, height=352, units="mm")

# 
#library("eoffice")
#topptx(p1,filename = "mtcars.pptx")
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggjhki
系列文章
更多 icon
同类精品
更多 icon
继续加载