我试图生成很多箱图并将它们保存在单独的文件中。每个箱图应基于数据帧中的变量。我或多或少试图“复制”:Looping over plots的解决方案,但这不起作用。
for(i in c("varname1","varname2")) {
png(paste(i, "png", sep = "."), width = 400, height = 400)
print(ggplot(df) + geom_boxplot(aes_string(y =seq_along(i) , x = i)) +
theme_bw())
dev.off()
}
我也搜索了这个网站的解决方案,但找不到有用的东西。
答案 0 :(得分:0)
我找到了解决方案。应删除'seq_along'。 我还改变了一些其他的东西:我添加了“历史记录”。作为文件名中的前缀,删除x刻度中的视觉元素并删除缺失以防止警告。
for(i in c("varname1", "varname2", "varname3")) {
png(paste("Hist",i, "png", sep = "."), width = 400, height = 400)
print(ggplot(df) + geom_boxplot(aes_string(y=i, x = 0), na.rm=TRUE) +
scale_x_discrete(breaks=NULL) + xlab(NULL) + theme_bw())
dev.off()
}
对我来说有点奇怪的是,ggplot不知何故需要一个X变量。我通过将x设置为零并将这些元素隐藏在视觉效果中来忽略这一点。所以这有点烦人。