2012-02-12 9 views
10

cercando di replicare l'esempio qui;come si può aumentare la dimensione delle wordclouds dell'area tracciata in R

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

Hai bisogno di aiuto per capire come aumentare l'area tracciato della nube di parola. Cambiando i parmetri di altezza e larghezza in png ("wordcloud_packages.png", width = 1280, height = 800) cambia solo l'altezza e la larghezza della tela..ma l'area tracciata rimane piccola.

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

risposta

17

provare a utilizzare il parametro di res, invece:

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

enter image description here

+0

questo è utile..grazie. Aggiornerò questa domanda se trovo una risposta migliore. –

+0

grazie per il suggerimento. ti stai chiedendo se hai riscontrato un problema in cui le dimensioni del testo non si adattano alla frequenza delle parole? eseguendo gli esempi sul mio sistema, le parole sono tutte della stessa dimensione. potrebbe essere un problema con i font di sistema. tia. –

+0

nvm, infatti, era un problema con i font di sistema! in ogni caso, ecco una buona guida per l'installazione di ulteriori caratteri: http://blog.revolutionanalytics.com/2012/09/how-to-use-your-favorite-fonts-in-r-charts.html –

0

se si include par(mar = rep(0, 4)) come una riga separata immediatamente dopo la chiamata a png si rimuovono i margini, e la wordcloud utilizzerà tutto lo spazio disponibile. Con questo, e possibilmente modificando il parametro res come suggerito nella risposta precedente, dovresti ottenere ciò che volevi.