4

次のコードを使用して、R でワード クラウドを作成しました。

wordcloud(words$term, words$freq, random.order=FALSE, colors=colorRampPalette(brewer.pal(9,"Blues"))(32), scale=c(5, .5))

そして、最も頻度の高い用語が最も暗い色合いで表示され、最も頻度の低い用語が最も明るい色合いで表示されるように用語を色付けするだけで、問題なく機能します。でも、逆であってほしい。ポインタはありますか?ありがとう。

4

2 に答える 2

7

良い質問。ランダムでない色の割り当て ( random.color = FALSE) を指定すると、頻度に基づいて作成さcolorsれ、好みの順序でパレットを使用して値を選択できます。

たとえばcolors = "black"、ビネットのデフォルト/例である が必要なものと反対である場合は、colors = "Pastel"または好みの他のスケールを選択します。

個人的には、これを達成するために連続パレットでColor Brewer ( RColorBrewer)を使用します。

pal = brewer.pal(9,"Blues")
wordcloud(words = d$word, 
          freq = d$freq, 
          scale = c(8,.3), 
          random.order = F,
          random.color = F,
          colors = pal) 

revまたは、 @Victorp がコメントで指摘したように、カラー パレットで使用することもできます。その例を次に示します。

pal = brewer.pal(9,"BuGn")
wordcloud(words = d$word, 
          freq = d$freq, 
          scale = c(8,.3), 
          random.order = F,
          random.color = F,
          colors = rev(pal))    

次のようなものが得られます。

単語の雲

更新:このトピック、n-gram のケース、ワード クラウドのデータのスクレイピングについて説明するブログ記事を書きました: http://hack-r.com/?p=35

于 2014-08-26T12:00:33.093 に答える
3

コメント セクションで Victorp が提供するもう 1 つのすばらしい解決策は、color引数として次を使用することです。

colors=rev(colorRampPalette(brewer.pal(9,"Blues"))(32)[seq(8,32,6)])
于 2014-08-26T12:41:07.937 に答える