GGWordcloud 带渐变色/透明字带adjustcolor 的GGPlot Wordcloud 渐变

问题描述

我用 ggwordcloud 创建了一个 wordcloud,因为不幸的是我不能使用替代 wordcloud 包。到目前为止,我能够根据我的要求自定义 ggwordcloud,只是遗憾的是我错过了渐变为透明的渐变的实现。到目前为止,我还没有找到允许这样做的函数

下面的代码创建了wordcloud,但只有两种颜色,但我需要一个渐变,它越来越多地进入透明(如第二个代码示例),以便隐藏最小的单词/ 透明。

library(ggwordcloud)
data("love_words_small")
data("love_words")

set.seed(42)
ggplot(
  love_words_small,aes(
    label = word,size = speakers,color = speakers
  )
) +
  geom_text_wordcloud_area() +
  scale_size_area(max_size = 24) +
  theme_minimal() +
  scale_color_gradient(low = "darkred",high = "red")

以下通过 quanteda Wordcloud 包的实现使用 adjustcolor 解决了我的问题:

library(quanteda)
library(quanteda.textplots)
set.seed(10)
dfmat1 <- dfm(corpus_subset(data_corpus_inaugural,President == "Obama"),remove = stopwords("english"),remove_punct = TRUE) %>%
   dfm_trim(min_termfreq = 3)
col <- sapply(seq(0.1,1,0.1),function(x) adjustcolor("#1F78B4",x))

textplot_wordcloud(dfmat1,adjust = 0.5,random_order = FALSE,color = col,rotation = FALSE)

有什么办法可以将此解决方案转移到ggwordcloud吗?

enter image description here

非常感谢您的建议!

解决方法

我自己找到了解决方案。太明显了...

col <- sapply(seq(0.1,1,0.1),function(x) adjustcolor("#1F78B4",x))

library(ggwordcloud)
data("love_words_small")
data("love_words")

set.seed(42)
ggplot(
  love_words_small,aes(
    label = word,size = speakers,color = speakers
  )
) +
  geom_text_wordcloud_area() +
  scale_size_area(max_size = 24) +
  theme_minimal() +
  scale_color_gradientn(colours = col)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...