函数

时间:2017-11-21 10:50:23

标签: r function layout ggplot2

我有几个绘制ggplot的一般函数。现在我想将它们组合成新的图,但不知怎的layout()不起作用。

我做了这个例子来说明我的观点:

plot_func_1 = function(){
  data1 <- data.frame(matrix(c(1:10), ncol=2))
  colnames(data1) <- c("name", "value")
  ggplot(data = data1) +
    geom_boxplot(aes(x = 1, y = value))
}

plot_func_2 = function(){
  data2 <- data.frame(matrix(c(11:20), ncol=2))
  colnames(data2) <- c("name", "value")
  ggplot(data = data2) +
    geom_boxplot(aes(x = 1, y = value))
}

plot_func_1_func_2_combined = function(){
  mat <- matrix(c(1,2), ncol = 2)
  layout(mat, width = c(0.5, 0.5))
  plot_func_1()
  plot_func_2()
}

plot_func_1_func_2_combined()

plot_func_1_func_2_combined()应将plot_func_1()plot_func_2()合并到一个图表中。但相反,只显示了第二个图。我怎么能改变它?

其他信息:基本plot函数似乎不存在此问题,此处可行:

plot_func_1 = function(){
  plot(1:5)
}
plot_func_2 = function(){
  plot(10:15)
}

plot_func_1_func_2_combined = function(){
  mat <- matrix(c(1,2), ncol = 2)
  layout(mat, width = c(0.5, 0.5))
  plot_func_1()
  plot_func_2()
}
plot_func_1_func_2_combined()

1 个答案:

答案 0 :(得分:1)

从包private void Read(object parameter) { bw.RunWorkerAsync(parameter); // put your logic here } private void bw_DoWork(object sender, DoWorkEventArgs e) { object parameter = e.Argument; } 而不是grid.arrange()尝试gridExtra

layout()

enter image description here