根据频率缩放颜色的文字云

时间:2018-06-13 06:30:44

标签: r

我需要用相同的颜色创建一个彩色的文字云,但是需要使用缩放的强度。 这是一个示例,但在地图的情况下使用。

enter image description here

如您所见,地图上的颜色为一种颜色,但强度根据客户的数量而不同,如右图所示。

这是我的数据框:

> head(d,20)
                   word freq
paris             paris 1250
saint             saint 1247
les                 les  694
marseille     marseille  500
lyon               lyon  312
toulouse       toulouse  226
nantes           nantes  204
strasbourg   strasbourg  177
seine             seine  174
montpellier montpellier  170
nice               nice  169
mer                 mer  160
rennes           rennes  153
bordeaux       bordeaux  144
lille             lille  144
bois               bois  126
marne             marne  123
dijon             dijon  119
nancy             nancy  116
provence       provence  115

这是我创建云词的代码

library("wordcloud")
library(wordcloud2)


color_range_number<-length(unique(d$freq))
color <- colorRampPalette(brewer.pal(9,"Blues")[3:7])(color_range_number)[factor(d$freq)]

wordcloud(words =d$word,freq =d$freq,min.freq=1,max.words=100,color=color,random.order=FALSE,rot.per=0.35)

但我得到了这个:

enter image description here

感谢您的建议!

1 个答案:

答案 0 :(得分:1)

如果您只想要一种蓝色并且只想更改Alpha,则甚至不需要colorRampPalette功能,只需要来自比例的alpha功能。

d <- read.table(text = "
city                   word freq
paris             paris 1250
saint             saint 1247
les                 les  694
marseille     marseille  500
lyon               lyon  312
toulouse       toulouse  226
nantes           nantes  204
strasbourg   strasbourg  177
seine             seine  174
montpellier montpellier  170
nice               nice  169
mer                 mer  160
rennes           rennes  153
bordeaux       bordeaux  144
lille             lille  144
bois               bois  126
marne             marne  123
dijon             dijon  119
nancy             nancy  116
provence       provence  115", header = T)

library(wordcloud)
library(scales)
wordcloud(words =d$word,freq =d$freq,min.freq=1,max.words=100,color=alpha("blue", seq(0.4,1, 0.05)),random.order=FALSE,rot.per=0.35)

enter image description here