ggplot 如果它在 for 循环内则不起作用,尽管它在它之外工作 [重复]
Posted
技术标签:
【中文标题】ggplot 如果它在 for 循环内则不起作用,尽管它在它之外工作 [重复]【英文标题】:ggplot does not work if it is inside a for loop although it works outside of it [duplicate] 【发布时间】:2013-03-18 16:18:59 【问题描述】:我正在使用一个简单的 ggplot 函数,即使迭代值不会干扰 ggplot 函数,该函数在循环外也能正常工作,但在循环内不能正常工作。为什么会这样?
这是我的代码
x=1:7
y=1:7
df = data.frame(x=x,y=y)
ggplot(df,aes(x,y))+geom_point()
有效!但是如果 ggplot 在 for 循环中...
for (i in 1:5)
ggplot(df,aes(x,y))+geom_point()
它不再起作用了,我错过了什么?
【问题讨论】:
【参考方案1】:在 for
循环中时,您必须显式地 print
生成的 ggplot
对象:
for (i in 1:5)
print(ggplot(df,aes(x,y))+geom_point())
【讨论】:
您能否详细说明为什么会这样? @SydKerckhove 如果你仍然感兴趣,这里有一篇关于 ggplot 的优秀文章:data-imaginist.com/2017/Beneath-the-canvas 你如何在 ggsave 中使用它? @JohnmyPlot = ggplot().....
然后ggsave("filename", plot = myPlot)
这可能是题外话,但我不确定单独发布我的困惑是否有任何价值:建议的 print(ggplot(df,aes(x,y))+geom_point())
有效,但 ggplot(df,aes(x,y))+geom_point() %>% print()
无效。但是,(ggplot(df,aes(x,y))+geom_point()) %>% print()
确实有效。这可能与此处描述的 ggplot +
的“不是管道”性质有关 ***.com/questions/38166708/…以上是关于ggplot 如果它在 for 循环内则不起作用,尽管它在它之外工作 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如果我输入 return 关键字,为啥 JS for 循环不起作用? [复制]