ggplot在for循环内部不工作,尽管它在for循环外部工作
我使用的是一个简单的ggplot函数,它在循环外工作良好,但在循环内工作不好,即使迭代值不干扰ggplot函数。为什么会这样 这是我的密码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循环中,您必须显式打印您
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结合使用?@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的“非管道”性质有关。你能详细解释一下为什么会出现这种情况吗?@SydKerckhove如果你仍然感兴趣,这里有一篇关于ggplot的优秀文章:如何将其与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的“非管道”性质有关