【发布时间】:2017-05-10 13:48:18
【问题描述】:
我正在创建一个单词云,其中单词的大小基于频率,但我希望将单词的颜色映射到第三个变量(压力,即与每个单词相关的压力量,数值或连续变量)。
我尝试了以下,它只给了我两种不同的颜色(黄色和紫色),而我想要更光滑的东西。我想要一些颜色范围,例如从绿色变为红色的调色板。
df = data.frame(word = c("calling", "meeting", "conference", "contract", "negotiation", "email"),
n = c(20, 12, 4, 8, 10, 43),
stress = c(23, 30, 15, 40, 35, 15))
df = tbl_df(df)
wordcloud(words = df$word, freq = df$n, col = df$stress)
有谁知道如何处理这种连续的元数据并在压力增加时为单词平滑地改变颜色?谢谢!
【问题讨论】:
-
这样的?
wordcloud(words = df$word, freq = df$n, col = brewer.pal(9,"BuGn")) -
将 RColorBrewer 与 brew 一起使用
-
@jazzurro。但是颜色强度/类型并没有映射到变量应力,是吗?
-
那么像这样?
df %>% arrange(stress) -> foo ; wordcloud(words = foo$word, freq = foo$stress, scale = c(4, 0.5), col = brewer.pal(6,"YlOrRd"), ordered.colors = T)。我正在创建一个原型。所以你可能需要做更多。这个想法是您使用scale设置字体大小。然后,您在freq中使用stress。我按stress重新排列了您的数据顺序。接触具有最高的价值,它接收最深的颜色。您可能想为stress创建一些组作为新变量,并考虑如何分配颜色。 -
wordcloud(words = foo$word, freq = foo$n, scale = c(8, 1), col = brewer.pal(6,"YlOrRd"), ordered.colors = T)这似乎对你有利。
标签: r colors text-mining word-cloud color-palette