为多个图使用多个选项

时间:2018-06-11 06:44:55

标签: r plot

我想绘制两个(或更多)具有相同绘图选项的图形。代码看起来像

plot(data1, type='l', lwd=2, col=c(1,1,2,1,3,1), pch=19)
plot(data2, type='b', lwd=2, col=c(1,1,2,1,3,1), pch=19)

如果我能在变量中保留一些选项,那就太好了。代码看起来像

my_opt <- list(lwd=2, col=c(1,1,2,1,3,1), pch=19)
plot(data1, type='l', my_opt)   ## it does not work
plot(data2, type='b', my_opt)

有没有办法让它发挥作用?

2 个答案:

答案 0 :(得分:2)

您可以编写一个小包装函数

myplot <- function(mydata, ...){
 plot(mydata, lwd = 2, col = c(1,1,2,1,3,1), pch = 19, ...)
}

myplot(data1, type = "l")
myplot(data2, type = "b")

答案 1 :(得分:2)

我相信你正在寻找do.call,使用do.call你可以做很多事情,其中​​一个以列表的形式传递参数。

data1 <- data.frame(x = 1:10, y = (1:10)**2)
data2  <- data.frame(x = seq(1,10,2), y = 1:5)

my_opt <- list(lwd=2, col=c(1,1,2,1,3,1), pch=19)
do.call(plot, c(data1, type ="l", my_opt) )  
do.call(plot, c(data2, type ="b", my_opt) )  

enter image description here