how can one increase size of plotted area wordclouds in R
Asked Answered
S

2

16

trying to replicate the example here;

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

Need help figuring out how to increase the plotted area of the word cloud. Changing the height and width parmeters in png("wordcloud_packages.png", width=1280,height=800) only changes the height and width of the canvas..but the plotted area remains small.

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()
Silent answered 12/2, 2012 at 0:59 Comment(0)
C
22

Try using the res parameter, instead:

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

enter image description here

Caespitose answered 12/2, 2012 at 1:8 Comment(3)
this is helpful..thanks. I will update this question if I find a better answer.Silent
thanks for the tip. just wondering if you've come across an issue where the text size doesn't scale with the word frequency? running the examples on my system, the words are all the same size. could be an issue with system fonts. tia.Iolanthe
nvm, indeed, it was an issue with system fonts! in any case, here's a good how-to on installing additional fonts: blog.revolutionanalytics.com/2012/09/…Iolanthe
R
3

If you include par(mar = rep(0, 4)) as a separate line immediately after the call to png you'll remove the margins, and the wordcloud will use all the available space. With this, and possibly tweaking the res parameter as suggested in the previous answer, you should get what you wanted.

Riffle answered 10/1, 2018 at 14:45 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.