微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R 词云格式

如何解决R 词云格式

我尝试遵循以下示例:colorlist 接收一个 wordcloud,它对一个标签使用相同的颜色(无论单词出现的频率如何)。

我尝试使用我以前的代码,所以这是我尝试的:

# Install
install.packages("tm")  # for text mining
install.packages("snowballC") # for text stemming
install.packages("wordcloud") # word-cloud generator 
install.packages("RColorBrewer") # color palettes
# Load
library("tm")
library("snowballC")
library("wordcloud")
library("RColorBrewer")
# Import Freq List
cname<-read.csv("/Users/mypath/wordcloud.csv",head=TRUE,encoding = "UTF-8") 
# Create Wordcloud 
set.seed(1234)
wordcloud(words = cname$word,freq = cname$count,min.freq = 1,max.words=200,min_font_size=12,colors = as.character(cname$color),ordered.colors=TRUE)

CSV here

所以我可以创建一个 wordcloud,看起来像这样:

enter image description here

但是我想要的是 a) 更漂亮的调色板(不会对眼睛造成太大伤害)和 b) 如果可能的话,颜色相同的单词每个都在一个区域 c) 更漂亮的字体。

这是否可行?


更新:

我按照建议使用了代码,但会收到错误的映射

enter image description here

# Install
install.packages("wordcloud2") # word-cloud generator 
install.packages("RColorBrewer") # color palettes
# Load
library(wordcloud2)
library(RColorBrewer)
cl <- brewer.pal(length(unique(cname$label)),"Spectral")
# Run
cname<-read.csv("/Users/wordcloud.csv",encoding = "UTF-8") 
wordcloud2::wordcloud2(cname,rotateratio = 0,color = cl[as.numeric(as.factor(cname$label))],fontFamily = "baskerville",shape = "diamond")

解决方法

试试 wordcloud2 包。您可以自定义旋转、形状等。

library(wordcloud2)
library(RColorBrewer)
cl <- brewer.pal(5,"Spectral")

wordcloud2::wordcloud2(words,rotateRatio = 0,color = cl[as.numeric(as.factor(words$label))],fontFamily = "avenir",shape = "diamond")

enter image description here

编辑:

你也可以

cl <- brewer.pal(length(unique(words$label)),"Spectral")

在这里,颜色的数量将与唯一标签的数量相匹配。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。