在R中循环以创建和保存具有指定名称的ggplot2系列图

时间:2010-07-06 22:13:18

标签: r loops ggplot2

我在R中有一个带有POSIXct变量sessionstarttime的数据框。每行由指定位置的整数ID变量标识。每个位置的行数不同。我简单地通过以下方式绘制整体图:

myplot <- ggplot(bigMAC, aes(x = sessionstarttime)) + geom_freqpoly()

是否可以创建一个循环,分别为每个位置创建和保存这样的图? 优选地,文件名与ID变量的值相同?
并且最好每个图的时间尺度相同?

2 个答案:

答案 0 :(得分:7)

不完全确定你在问什么,但你可以做两件事之一。

a)您可以使用基于ID的唯一名称将每个单独的绘图保存在循环中,如下所示:

ggsave(myplot,filename=paste("myplot",ID,".png",sep="")) # ID will be the unique identifier. and change the extension from .png to whatever you like (eps, pdf etc).

b)只需将每个绘图分配给列表的元素即可。然后使用save将该列表写入磁盘 这样可以很容易地在以后加载和访问任何单个图。

答案 1 :(得分:1)

我不确定我是否得到你想做的事。根据我的猜测,我建议写一个简单的函数来保存情节。然后使用lapply(yourdata,yourfunction,...)。由于lapply可用于列表,因此行数不必相等。

HTH

在你的函数中使用这样的东西:

    ggsave(filename,scale=1.5)
相关问题