2

我最近下载了 ggtern 并试图绘制一系列三元图。我的目标是在一个面板上绘制其中的几个。关于 ggtern 的文档说 grid.arrange 在 ggtern 图上完美运行。但是,当我尝试将它们放在一起时,我的图变得一团糟(弹出额外的标签,角落的标签变为 T、R 和 L,并且 ggplot2 默认主题的线条消失了(背景显示为均匀灰色)。这里是我的代码:

# Ternary plot
# I want to create a plot for each level of the vector Strain_State in my dataframe called data:
lev<-levels(data$Strain_State)

# Create a list to store the plots:
plot_list=list()

# for loop to draw and store all plots at once:
for(i in 1:length(lev)){
  graph<-ggtern(data=subset(data, Strain_State==lev[i], select=c(Sex:neutral)), aes(time_pup, time_peanut, neutral)) + geom_point(size=3, aes(colour=Sex)) + ggtitle(lev[i]) + labs(x="Pup", y="Peanut butter", z="Avg.\nempty")+
    theme(axis.text=element_text(size=14),axis.title=element_text(size=16,face="bold"))+
    theme(legend.title=element_text(size=18))+
    theme(legend.text=element_text(size=16))+
    theme(plot.title = element_text(lineheight=.8, face="bold",size=22))
  plot_list[[i]]<-graph
} 

plot_list[[17]] # visualize each plot individually => works fine

library(gridExtra) # visualize several plots => problematic
BW<-plot_list[1:4]
grid.arrange(plot_list[[4]], plot_list[[2]], plot_list[[1]], plot_list[[3]], nrow=2)

左边是一个看起来不错的图,右边是我在使用 grid.arrange 时遇到的问题

4

0 回答 0