如何在R中增加词云图的绘图区域大小

16
尝试在此处复制示例;

http://onertipaday.blogspot.com/2011/07/word-cloud-in-r.html

需要帮助解决如何增加词云的绘图区域。在 png("wordcloud_packages.png", width=1280,height=800) 中修改高度和宽度参数只会改变画布的高度和宽度,但绘图区域仍然很小。

require(XML)
require(tm)
require(wordcloud)
require(RColorBrewer)
u = "http://cran.r-project.org/web/packages/available_packages_by_date.html"
t = readHTMLTable(u)[[1]]
ap.corpus <- Corpus(DataframeSource(data.frame(as.character(t[,3]))))
ap.corpus <- tm_map(ap.corpus, removePunctuation)
ap.corpus <- tm_map(ap.corpus, tolower)
ap.corpus <- tm_map(ap.corpus, function(x) removeWords(x, stopwords("english")))
ap.tdm <- TermDocumentMatrix(ap.corpus)
ap.m <- as.matrix(ap.tdm)
ap.v <- sort(rowSums(ap.m),decreasing=TRUE)
ap.d <- data.frame(word = names(ap.v),freq=ap.v)
table(ap.d$freq)
pal2 <- brewer.pal(8,"Dark2")
png("wordcloud_packages.png", width=1280,height=800)
wordcloud(ap.d$word,ap.d$freq, scale=c(8,.2),min.freq=3,
max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2)
dev.off()
2个回答

21

试着使用res参数:

...
png("wordcloud_packages.png", width=12,height=8, units='in', res=300)
...

这里输入图片描述


这很有帮助,谢谢。如果我找到更好的答案,我会更新这个问题。 - sgt pepper
谢谢你的提示。我想知道你是否遇到过文本大小不随单词频率缩放的问题?在我的系统上运行示例,所有单词的大小都相同。可能是系统字体的问题。谢谢。 - Paul Rigor
没错,的确是系统字体的问题!无论如何,这里有一个很好的教程,教你如何安装额外的字体:http://blog.revolutionanalytics.com/2012/09/how-to-use-your-favorite-fonts-in-r-charts.html - Paul Rigor

2

如果你在调用 png 后立即将 par(mar = rep(0, 4)) 作为单独的一行包含进去,你就可以去掉边距,词云将会使用所有可用的空间。通过这种方式,并可能根据之前的回答建议调整 res 参数,你应该能够得到想要的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接