我能够用我的代码绘制一些确实以点阵格式绘制的图。但是,其中有多个图,准确地说是77个,每个图都被压扁并且不可读。我也尝试过使用宽度,高度,facet_wrap_paginate,但是似乎都没有给我想要的输出。每个图都是每个受试者和EVTEST的线状图,共有77个受试者。 我想在4X3或4X4的多个面板以及页面中打破剧情。我也在RTF中输出它。如果可行,我也愿意输出PDF。我该怎么办?
下面是一个虚拟数据,与我在代码中输入的格式相同。我要绘制的是此纵向数据的线图,其中X轴为VISITDY_D,Y轴为EVSTRESN。我正在通过创建串联的句柄(SUBJID_EVTEST_SITE)对图进行分组。
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)