如何使R字云显示最常见的术语,颜色较浅

Tav*_*avi 4 r word-cloud

我在R中用代码创建了一个词云:

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

它的工作原理只是它以这样的方式对术语进行着色,使得最常见的颜色出现在最暗的颜色中,而最浅的则出现在最浅的颜色中.但我希望它反过来.有什么指针吗?谢谢.

Hac*_*k-R 7

好问题.您可以指定random.color = FALSE基于频率的非随机颜色分配(),然后选择colors使用您喜欢的顺序的调色板的值.

例如,如果colors = "black"Vignette中的默认/示例与您想要的相反,则选择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) 
Run Code Online (Sandbox Code Playgroud)

或者,你可以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))    
Run Code Online (Sandbox Code Playgroud)

这给你这样的东西:

词云

更新:我写了一篇博客文章,涵盖了这个主题以及n-gram案例和刮词数据:http://hack-r.com/? p = 35