我必须用相同的视图生成250个图。使用ggplot2在循环中创建图
我的示例数据集中:
df <- data.frame(name = c("john","alex","mike","dennis","alex"),
expenses = c("10","12","15","8","2"),
type = c("food","rent","rent","food","food"))
我想吧情节与费用在一个图每一个名字。为“亚历克斯”的情节看起来像:
selected.name <- "alex"
df1 <- subset(df, name == selected.name)
ggplot(data = df1, aes(type, expenses)) + geom_bar()
现在我想用一个循环,绘制在DF每一个名字相同的情节。我试图使用运行上面剧情代码的for循环作为源文件。但我无法将名称变量传递给源文件,以便为每个名称绘制图形。现在我只能从for循环中获得一张图。
请详细说明您的问题。是你的问题,你只能得到1个窗口和1个图表?比'x11()'可能是解决方案。如果你想保存PDF文件,然后使用'pdf(文件)''print(ggplot(...)''dev.off()'.... – Seb 2012-02-02 11:52:13
Hi Seb,谢谢你的回复。我为名称alex为df中的所有其他名称创建的图表,而不需要手动输入名称,因为在真实数据中有250个名称,希望这有助于我的工作 – jeroen81 2012-02-02 11:58:16
@Seb,我会选择ggsave而不是pdf()。 – 2012-02-02 11:58:18