2017-04-24 48 views
2

我正在尋找應用世界雲功能,但基於另一個屬性更改顏色格式。基於其他數據列的WordCloud顏色

這裏是我的數據d的外觀,顯然我有更多的城市名稱。 這個想法是,我希望基於freq的數量來設置單詞的大小,但是單詞的顏色應該基於'year'列。 這意味着巴黎和紐約將是相同的顏色,而東京和羅馬也會有相同的顏色。

name freq year status 
paris 5  2010 booked 
nyc  25  2010 booked 
tokyo 10  2011 notbooked 
rome 9  2011 notbooked 

wordcloud(words = d$name, freq = d$freq, min.freq = 1,scale = c(2, 0.2), 
        max.words=200, random.order=FALSE, rot.per=0.1, 
        colors=brewer.pal(8, "Dark2")) 

很高興現在我沒有看到如何在wordcloud函數中引入d $ year。預先感謝您的幫助!

回答

3

既然你說你想要的東京&羅馬具有相同的顏色,我認爲你的意思是有一年的羅馬,以2011年被

df=read.table(text="name freq year 
paris 5  2010 
nyc  25  2010 
tokyo 10  2011 
rome 9  2011", 
header=TRUE) 

library(wordcloud) 
wordcloud(words = df$name, freq = df$freq, min.freq = 1,scale = c(2, 0.2), 
        max.words=200, random.order=FALSE, rot.per=0.1, 
        ordered.colors=TRUE, 
        colors=brewer.pal(8, "Dark2")[factor(df$year)]) 

Word Cloud

+0

太好了!非常感謝你爲糾正和解決:) – lapioche75

+0

任何想法,如果我們可以迫使不同的年組接近彼此?所以例如2010年左上角,2011年右上角等? @ G5W – lapioche75

+0

我不相信你可以控制單詞的位置。但是,有一個隨機元素,所以如果您反覆運行同一個wordcloud語句,您將得到不同的佈局。嘗試幾個。 – G5W