我用代码在 R 中创建了一个词云:
wordcloud(words$term, words$freq, random.order=FALSE, colors=colorRampPalette(brewer.pal(9,"Blues"))(32), scale=c(5, .5))
它工作得很好,只是它以这样一种方式对术语进行着色,即最常见的出现在颜色的最暗阴影中,而最不常见的出现在颜色的最浅阴影中。但我希望它是相反的方式。任何指针?谢谢。
我用代码在 R 中创建了一个词云:
wordcloud(words$term, words$freq, random.order=FALSE, colors=colorRampPalette(brewer.pal(9,"Blues"))(32), scale=c(5, .5))
它工作得很好,只是它以这样一种方式对术语进行着色,即最常见的出现在颜色的最暗阴影中,而最不常见的出现在颜色的最浅阴影中。但我希望它是相反的方式。任何指针?谢谢。
好问题。您可以指定非随机颜色分配 ( random.color = FALSE
),这将使其基于频率,然后选择colors
使用按您喜欢的顺序排列的调色板的值。
例如,如果colors = "black"
Vignette 中的默认值/示例与您想要的相反,则选择colors = "Pastel"
您喜欢的其他比例。
RColorBrewer
就个人而言,我使用带有顺序调色板的Color Brewer ( )来完成此操作:
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
Victorp 在评论部分提供的另一个出色的解决方案是使用以下作为color
参数:
colors=rev(colorRampPalette(brewer.pal(9,"Blues"))(32)[seq(8,32,6)])