我必須用相同的視圖生成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