如何在ggplot中使用facet_wrap容纳多个绘图
我能够用我的代码绘制一些以晶格格式绘制的绘图。然而,有几个这样的图,准确地说是77,所以每个图都是完全压扁和不可读的。我也尝试过宽度,高度,小平面,但是没有一个能给我想要的输出。每个图是每个受试者和EVTEST的直线图,共有77名受试者。 我想在4X3或4X4的多个面板以及页面中拆分绘图。我也用RTF输出它。如果可以的话,我也愿意以PDF格式输出。我该怎么做 下面是一个虚构的数据,它的格式与我在代码中用作输入的格式相同。我试图绘制的是这个纵向数据的线图,其中X轴是VISITDY_D,Y轴是EVSTRESN。我通过创建一个连接句柄(subcid_EVTEST_SITE)对绘图进行分组如何在ggplot中使用facet_wrap容纳多个绘图,r,ggplot2,R,Ggplot2,我能够用我的代码绘制一些以晶格格式绘制的绘图。然而,有几个这样的图,准确地说是77,所以每个图都是完全压扁和不可读的。我也尝试过宽度,高度,小平面,但是没有一个能给我想要的输出。每个图是每个受试者和EVTEST的直线图,共有77名受试者。 我想在4X3或4X4的多个面板以及页面中拆分绘图。我也用RTF输出它。如果可以的话,我也愿意以PDF格式输出。我该怎么做 下面是一个虚构的数据,它的格式与我在代码中用作输入的格式相同。我试图绘制的是这个纵向数据的线图,其中X轴是VISITDY_D,Y轴是EVS
subcid站点EVTEST EVSTRESN VISITDY\u D侧
1 AB ABC 1.1 D00左
1 AB ABC 2.1 D28右侧
1 AB ABC 2.2 D56左
1 AB ABC 2.3 D84左
2 AB ABC 1.5 D00
2 AB ABC 1.6 D28右侧
#读取数据(csv文件)
唐尼,你看过这里吗?“我也试过使用宽度、高度、镶嵌面,但似乎没有一个能提供我想要的输出”,这意味着你有一些特别的想法。为了帮助人们更有效地回答你的问题,你能澄清一下你在寻找什么,或者你尝试过的方法有哪些不足之处吗?乔恩,谢谢你的评论。我在你共享的链接中尝试了代码。代码的输出正是我所需要的。但是我得到了一个错误:gList中的错误(75_sleak\u Face
=list)grobs=list(list)(x=0.5,y=0.5,:“gList”中只允许“grobs”。我将感谢任何帮助来解决这个错误。你看了这里吗?“我也试过玩宽度、高度、小平面包裹分页,但似乎没有人能给我想要的输出。”这意味着你有一些特别的想法。为了帮助人们更有效地解决你的问题,你能澄清一下你在寻找什么,或者你尝试过的方法有哪些不足之处吗?Jon,谢谢你的评论。我在你共享的链接中尝试了代码。代码的输出正是我需要的。但是我得到了一个n错误:gList中出现错误(75_sleak\u Face
=list)(grobs=list)(list)(x=0.5,y=0.5,:gList中只允许“grobs”。我将感谢您为解决此错误提供的任何帮助。
SUBJID SITE EVTEST EVSTRESN VISITDY_D SIDE
1 AB ABC 1.1 D00 Left
1 AB ABC 2.1 D28 Right
1 AB ABC 2.2 D56 Left
1 AB ABC 2.3 D84 Left
2 AB ABC 1.5 D00
2 AB ABC 1.6 D28 Right
#read the data (csv file)
donnees <- read.csv(paste0(path_data,"Sample.csv"), sep = ";",header =
T,stringsAsFactors = FALSE)
Params = c("Phenotype1","Phenotype2")
#PLOTTING FUNCTION
pf1<-function(subD,tit1){ # subD:Input data, tit1: Title for the plot
subD$SUBJID1 <-
as.factor(paste0(subD$RANDOID,'_',subD$EVTEST,'_',subD$SITE))
p1 <- ggplot(subD,aes(x = VISITDY_D,y = EVSTRESN, color=SIDE,group=SIDE))
geom_line(position=position_dodge(width=0.7))+
geom_point() + facet_wrap_paginate(~ SUBJID1, nrow=3,ncol=3,page=1) +
theme()
print(p1)
p1 <- ggplot(subD,aes(x = VISITDY_D,y = EVSTRESN,
color=SIDE,group=SIDE)) +
geom_line(position=position_dodge(width=0.7))+
geom_point() + facet_wrap(~ SUBJID1) + theme()
print(p1)
}
# OUTPUT; Calling the plotting function in RTF
oP <- /output_directory
setwd(oP)
rtf <- RTF(file = paste0("TEST_","individual profiles.rtf"))
addTOC(rtf)
addPageBreak(rtf)
for(s in 1:length(Params)){
dat = subset(donnees,donnees$EVTEST %in% Params[s])
SUBJID1 <-as.factor(paste0(dat$RANDOID,'_',dat$EVTEST,'_',dat$SITE))
tit1<-paste0(Params[s])
addHeader(rtf,tit1,font.size = 4, TOC.level = 1)
addPlot(rtf, plot.fun=pf1, subD= dat,tit1= tit1, width= 7, height=5.2,
res=250)
}
done(rtf)