我对R有点新鲜 - 我一直在尝试将R脚本包装为函数,因此我可以从Rserve中调用它。有谁知道为什么ggplot2不能在函数内部工作但在它之外工作得很好?
png('polarity.png')
ggplot(sent_df, aes(x=polarity)) +
geom_bar(aes(y=..count.., fill=polarity)) +
scale_fill_brewer(palette="RdGy") +
labs(x="polarity categories", y="number of conversatins") +
opts(title = "Sentiment Analysis of Posts on Facebook\n(classification by polarity)",
plot.title = theme_text(size=12))
dev.off()
这可能与它ggplot2 produces error when used in function or S4有关,但我没有收到我能检测到的错误 - 我只是没有输出。
答案 0 :(得分:11)
这是一个R常见问题解答 - 你需要print()
,或者{g}一个特殊于ggplot2的ggsave()
。
来自常见问题:
7.22为什么格子/格子图形不起作用?
最可能的原因是你忘了告诉R显示 图形。格子函数如
xyplot()
创建图形对象,但是 不显示它(ggplot2图形和Trellis也是如此) S-Plus中的图形)。图对象的print()
方法生成 实际显示。当您以交互方式使用这些功能时 命令行,结果会自动打印,但在source()
或。{ 在你自己的函数中,你需要一个明确的print()
语句。