ggplot在for循环内部不工作,尽管它在for循环外部工作

ggplot在for循环内部不工作,尽管它在for循环外部工作,r,for-loop,ggplot2,R,For Loop,Ggplot2,我使用的是一个简单的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() } 它不再工作了,我缺少什么?在for循环中,您必须显式打印您

我使用的是一个简单的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()
}

它不再工作了,我缺少什么?

for
循环中,您必须显式
打印您的结果
ggplot
对象:

for (i in 1:5) { 
    print(ggplot(df,aes(x,y))+geom_point()) 
}

for
循环中,必须显式
打印
生成的
ggplot
对象:

for (i in 1:5) { 
    print(ggplot(df,aes(x,y))+geom_point()) 
}

你能详细解释一下为什么会这样吗?@SydKerckhove如果你还感兴趣,这里有一篇关于ggplot的优秀文章:如何将它与ggsave结合使用?@John
myPlot=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的“非管道”性质有关。你能详细解释一下为什么会出现这种情况吗?@SydKerckhove如果你仍然感兴趣,这里有一篇关于ggplot的优秀文章:如何将其与ggsave一起使用?@John
myPlot=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的“非管道”性质有关