在R中调用ggplot函数

在R中调用ggplot函数,r,function,plot,ggplot2,R,Function,Plot,Ggplot2,可能重复: 我使用此ggplot函数通过列表绘制多个变量: plotTimeSeries <- list(n25_30,n28_30,n29_30,n31_30,n32_30) for (i in plotTimeSeries) { i$dt <- strptime(i$dt, "%Y-%m-%d %H:%M:%S") ggplot(i, aes(dt, ambtemp)) + geom_line() + scale_x_datetime(breaks = da

可能重复:

我使用此ggplot函数通过列表绘制多个变量:

plotTimeSeries <- list(n25_30,n28_30,n29_30,n31_30,n32_30)


for (i in plotTimeSeries) {
  i$dt <- strptime(i$dt, "%Y-%m-%d %H:%M:%S")
  ggplot(i, aes(dt, ambtemp)) + geom_line() +
    scale_x_datetime(breaks = date_breaks("2 hour"),
                     labels=date_format("%H:%M")) + 
    labs(x="Time 00.00 ~ 24:00 (2007-09-30)",y="Ambient Temperature",
         title = (paste("Node",i)))
}
我不知道应该如何调用r中的函数。
实际上,代码没有发生错误。另一方面,破坏这段代码不会产生任何结果。

当您使用for循环时,您在函数中是“排序”的。我之所以说“有点”,是因为分配将在全局环境中发生(假设循环是从控制台启动的),但是除非包装在
打印
或等效的
打印
中,否则
ggplot
lattice
打印将不会发生。因此,请这样做(并阅读常见问题):

for(plotTimeSeries中的i){

i$dt我是R方面的新手,你会计算这个问题吗?这样我就能更好地寻找解决方案了。你已经被指出至少有三种非常清楚的解释,解释出了什么问题。每种解释都准确地说明了我将自己编写的内容。谢谢,调用函数的问题已经解决了,但发生了一些有趣的事情。所有的数据列表中使用的e出现在图的顶部。我怀疑我们仅凭“数据样本”就无法解决这个问题。请发布一个可复制的示例。我确信您以前被建议过这样做。好的,我已经解决了最近的问题。我已经添加了另一个标题列表。plotTimeSeries是否要我用我的编辑您的上一个代码?也许将来这些可能会对某人有所帮助。我不认为您可以使用rep 52编辑我的答案。您可以发布任何内容不过,你想在你自己问题的结尾。
    ambtemp                  dt
1     -1.64 2007-09-29 00:01:09
2     -1.76 2007-09-29 00:03:09
3     -1.83 2007-09-29 00:05:09
4     -1.86 2007-09-29 00:07:09
5     -1.94 2007-09-29 00:09:09
6     -1.87 2007-09-29 00:11:09
7     -1.87 2007-09-29 00:13:09
8     -1.80 2007-09-29 00:15:09
9     -1.64 2007-09-29 00:17:09
10    -1.60 2007-09-29 00:19:09
11    -1.90 2007-09-29 00:21:09
for (i in plotTimeSeries) {
  i$dt <- strptime(i$dt, "%Y-%m-%d %H:%M:%S")
  print(
  ggplot(i, aes(dt, ambtemp)) + geom_line() +
    scale_x_datetime(breaks = date_breaks("2 hour"),
                     labels=date_format("%H:%M")) + 
    labs(x="Time 00.00 ~ 24:00 (2007-09-30)",y="Ambient Temperature",
         title = (paste("Node",i)))
        )  # append most recent plot
    }
plotlist <- list()
for (i in plotTimeSeries) {
  i$dt <- strptime(i$dt, "%Y-%m-%d %H:%M:%S")
  plotlist <- c(plotlist, 
  ggplot(i, aes(dt, ambtemp)) + geom_line() +
    scale_x_datetime(breaks = date_breaks("2 hour"),
                     labels=date_format("%H:%M")) + 
    labs(x="Time 00.00 ~ 24:00 (2007-09-30)",y="Ambient Temperature",
         title = (paste("Node",i)))
        )
               )
    }

lapply(plotlist, print)