在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)