我已在列表中保存了多个ggplots,并希望使用cowplot软件包对其进行绘制。但是要做到这一点,您必须调用plot_grid函数中的每个条目。
示例代码:
plot<-vector("list",length=6)
data<-vector("list",length=6)
for(i in 1:6){
data[[i]]<-data.frame(x=rnorm(10),y=rnorm(10))
plot[[i]]<-ggplot(data=data[[i]])+geom_point(aes(x=x,y=y))
}
plot_grid(plot[[1]],plot[[2]],plot[[3]],plot[[4]],plot[[5]],plot[[6]])
我正在寻找一种将列表的多个条目调用到plot_grid函数中的简便方法。如果可能的话,能够调用某些特定条目也是很整洁的。
答案 0 :(得分:2)
使用do.call
:
library(gridExtra) # note that I'm using grid.arrange from the gridExtra library
do.call("grid.arrange", c(plot_list, ncol=2, nrow=3))
与plot_grid
:
library(cowplot)
do.call("plot_grid", c(plot, ncol=2, nrow=3))
仅供参考,我不使用保留名称调用对象,而是使用plot
之类的变量名称代替plot_list
。
答案 1 :(得分:0)
您还可以使用public int MobileExistToAnotherGenerationUnit(string mobileNo, long generationUnitId)
{
int result = _mobileRepository.Table
.Where(gum => gum.mobileno == mobileNo && gum.generation_unit_id !=
generationUnitId)
.Select(s => new Generation_unit_mobile
{
id = s.id
}).ToList().Count;
return result == 0 ? 0 : 1;
}
(purrr::invoke
是核心tidyverse的一部分):
purrr
注意:library(tidyverse)
library(cowplot)
invoke(plot_grid, plot)
是invoke
的包装,因此这实际上是@RLave答案的变体:上面的内容与
do.call