2012-02-12 63 views
10

中試圖複製示例的繪圖區域wordcloud的大小;如何增加R

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() 

回答

17

嘗試使用res參數,而不是:

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

enter image description here

+0

這是有幫助的..謝謝。如果我找到更好的答案,我會更新這個問題。 – 2012-02-12 05:51:15

+0

感謝您的提示。只是想知道您是否遇到過文字大小不按字詞頻率進行縮放的問題?在我的系統上運行示例,這些單詞的大小都是相同的。可能是系統字體的問題。 TIA。 – 2013-08-07 08:53:16

+0

nvm的確,這是系統字體的問題!無論如何,這裏有一個很好的方法來安裝額外的字體:http://blog.revolutionanalytics.com/2012/09/how-to-use-your-favorite-fonts-in-r-charts.html – 2013-08-07 09:01:43

0

如果包含par(mar = rep(0, 4))的調用png你會去除邊緣後,立即單獨的線, wordcloud將使用所有可用空間。有了這個,並可能調整res參數的建議在前面的答案,你應該得到你想要的。