在R中绘制网格中的wordclouds

时间:2018-03-28 16:56:56

标签: r word-cloud r-grid

我使用wordcloud2包创建wordclouds,但似乎无法找到在网格中绘制它们的方法。我已经尝试过grid.arrange,但它会产生错误并且不允许我绘制云?

有没有解决办法呢?

这是我的代码

    # main wordcloud function
w1 <- wordcloud2(w_virgin, size = 0.8, shape = 'circle',
           rotateRatio = 0.5, minSize = 1)

w2 <- wordcloud2(w_united, size = 0.8, shape = 'circle',
           rotateRatio = 0.5, minSize = 1)

grid.arrange(w1, w2)

2 个答案:

答案 0 :(得分:1)

使用wordcloud,您只需使用基础R par安排图表:

par(mfrow=c(1,2)) # for 1 row, 2 cols
wordcloud(d1$word, d1$freq, max.words=100)
wordcloud(d2$word, d2$freq, max.words=100)

如果您有术语 - 文档矩阵(tdm),您可以创建单词和频率的数据框,如下所示:

library(tm)
v <- sort(rowSums(as.matrix(tdm)),decreasing=TRUE)
d1 <- data.frame(word=names(v),freq=v)

就像MrFlick所说,如果你能提供一个可重复的例子,有人可能能够更准确地回答你的问题。

答案 1 :(得分:0)

wordcloud包中的wordcloud函数可直接绘制而不会返回任何内容,这意味着您非常受限制于使用par修改R输出设备。

如果使用的是ggplot2,则可以使用ggwordcloud中的近似替换ggwordcloud,它会输出一个ggplot对象,可以将其与grid.arrange from gridExtra一起设置为grob。