r - 如何在构面中连接 ggplot2 的线图?
问题描述
我得到了一个异常的 ggplot2 图
df$Group_order <- factor(df$Group, levels = c("A","C","D","U","R"))
datasetname.1 = "A"
datasetname.1.avg <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=mean(subset(df, select=(Count), subset=(Group_order==datasetname.1))$Count),yend=mean(subset(df, select=(Count), subset=(Group_order==datasetname.1))$Count), Group_order=datasetname.1)
datasetname.1.med <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=median(subset(df, select=(Count), subset=(Group_order==datasetname.1))$Count),yend=median(subset(df, select=(Count), subset=(Group_order==datasetname.1))$Count),Group_order=datasetname.1)
datasetname.2 = "C"
datasetname.2.avg <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=mean(subset(df, select=(Count), subset=(Group_order==datasetname.2))$Count),yend=mean(subset(df, select=(Count), subset=(Group_order==datasetname.2))$Count), Group_order=datasetname.2)
datasetname.2.med <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=median(subset(df, select=(Count), subset=(Group_order==datasetname.2))$Count),yend=median(subset(df, select=(Count), subset=(Group_order==datasetname.2))$Count),Group_order=datasetname.2)
datasetname.3 = "D"
datasetname.3.avg <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=mean(subset(df, select=(Count), subset=(Group_order==datasetname.3))$Count),yend=mean(subset(df, select=(Count), subset=(Group_order==datasetname.3))$Count), Group_order=datasetname.3)
datasetname.3.med <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=median(subset(df, select=(Count), subset=(Group_order==datasetname.3))$Count),yend=median(subset(df, select=(Count), subset=(Group_order==datasetname.3))$Count),Group_order=datasetname.3)
datasetname.4 = "U"
datasetname.4.avg <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=mean(subset(df, select=(Count), subset=(Group_order==datasetname.4))$Count),yend=mean(subset(df, select=(Count), subset=(Group_order==datasetname.4))$Count), Group_order=datasetname.4)
datasetname.4.med <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=median(subset(df, select=(Count), subset=(Group_order==datasetname.4))$Count),yend=median(subset(df, select=(Count), subset=(Group_order==datasetname.4))$Count),Group_order=datasetname.4)
datasetname.5 = "R"
datasetname.5.avg <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=mean(subset(df, select=(Count), subset=(Group_order==datasetname.5))$Count),yend=mean(subset(df, select=(Count), subset=(Group_order==datasetname.5))$Count), Group_order=datasetname.5)
datasetname.5.med <- data.frame(x=length(df$Sample)*0.25,xend=length(df$Sample)*0.75,y=median(subset(df, select=(Count), subset=(Group_order==datasetname.5))$Count),yend=median(subset(df, select=(Count), subset=(Group_order==datasetname.5))$Count),Group_order=datasetname.5)
plot <- ggplot(df, aes(x=reorder(df$Count, df$Sample), y=df$Count, group=1)) +
geom_line(color="brown", size=1.3)+
theme_bw() +
theme(panel.grid = element_blank())+
geom_vline(xintercept = 1, color="lightgrey")+
geom_vline(xintercept = length(df$Sample)*1/4, color="lightgrey")+
geom_vline(xintercept = length(df$Sample)*2/4, color="lightgrey")+
geom_vline(xintercept = length(df$Sample)*3/4, color="lightgrey")+
geom_vline(xintercept = length(df$Sample)*4/4, color="lightgrey")+
geom_hline(yintercept = 100, color="lightgrey")+
geom_hline(yintercept = 0, color="lightgrey")+
geom_hline(yintercept = 25, color="lightgrey")+
geom_hline(yintercept = 50, color="lightgrey")+
geom_hline(yintercept = 75, color="lightgrey")+
geom_hline(yintercept = 125, color="lightgrey")+
geom_hline(yintercept = 150, color="lightgrey")+
geom_hline(yintercept = 175, color="lightgrey")+
geom_hline(yintercept = 200, color="lightgrey")+
#theme(axis.text.x = element_blank())+
theme(axis.text.x = element_text(angle=90))+
theme(axis.text.y = element_text(face="bold", size = 13)) +
theme(axis.title.y = element_text(color="black",face="bold"), axis.ticks = element_blank())+
xlab("")+
ylab("Count")+
scale_y_continuous(limits=c(0,205), expand=c(0,0)) +
geom_segment(data=datasetname.1.avg, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="mediumseagreen")+
geom_segment(data=datasetname.1.med, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="dodgerblue4")+
geom_segment(data=datasetname.2.avg, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="mediumseagreen")+
geom_segment(data=datasetname.2.med, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="dodgerblue4")+
geom_segment(data=datasetname.3.avg, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="mediumseagreen")+
geom_segment(data=datasetname.3.med, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="dodgerblue4")+
geom_segment(data=datasetname.4.avg, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="mediumseagreen")+
geom_segment(data=datasetname.4.med, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="dodgerblue4")+
geom_segment(data=datasetname.5.avg, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="mediumseagreen")+
geom_segment(data=datasetname.5.med, aes(x=x, y=y, yend=yend, xend=xend), inherit.aes = FALSE, size=1.5, color="dodgerblue4")+
theme(strip.text.x = element_text(colour = "black",face = "bold",size = 13))+
facet_wrap(~Group_order, ncol=5)
plot
没有错误消息,但线图看起来坏了。
特别是,每个方面的 x 轴名称都是相同的。
我应该怎么办?
“无标度”没有帮助。
事实上,我真正想做的是为每个方面设置不同的 x 轴。
使用“子集”不好,请帮帮我。
解决方案
推荐阅读
- rascal - Rascal:在 Windows 命令行上找不到 JDK
- amazon-web-services - AWS Amplify 应用程序未在托管子域上执行 CloudFront 重定向
- python - 通过 aws lambda 下载文件
- sql - 如何将空白值传递给日期参数?
- sql - 查询中具有不同条件的 3 列
- regex - 彭博批量数据正则表达式解析
- r - 将 ggplot 与非数字数据一起使用
- python - 在一个函数中并行运行多个数据帧
- javascript - 如何在 JavaScript 中从数组中渲染图像
- angular - Angular 8 中的 mat-table 排序工作方式不同,大写、小写以及数字和空值的排序方式不同