You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中使用wordcloud2包为词云添加标题?

在wordcloud2词云中添加标题的解决方案

wordcloud2本身没有内置添加标题的参数,因为它本质是生成独立的HTML组件。要给词云添加标题,可以借助htmltools包将标题元素和词云组件组合在一起,具体实现如下:

修改后的代码

df <- structure(list(age = c(18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L, 18L), definition = c("eye", "car", "nose", "bird", "hot", "balloon", "ouch", "kitty", "vroom", "ear", "night night", "juice", "grandma*", "quack quack", "apple", "bubbles", "cookie", "bath", "cheese", "milk", "thank you", "hat", "fish (animal)", "grandpa*", "cat", "up", "yes", "truck", "choo choo", "shh/shush/hush", "bear", "hello"), frequency = c(0.665158371040724, 0.656108597285068, 0.649321266968326, 0.626696832579186, 0.606334841628959, 0.601809954751131, 0.601809954751131, 0.595022624434389, 0.595022624434389, 0.588235294117647, 0.588235294117647, 0.581447963800905, 0.579185520361991, 0.579185520361991, 0.576923076923077, 0.576923076923077, 0.570135746606335, 0.567873303167421, 0.565610859728507, 0.565610859728507, 0.563348416289593, 0.542986425339366, 0.538461538461538, 0.538461538461538, 0.53393665158371, 0.513574660633484, 0.513574660633484, 0.51131221719457, 0.506787330316742, 0.504524886877828, 0.502262443438914, 0.5)), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA, -32L), groups = structure(list(    age = 18L, .rows = structure(list(1:32), ptype = integer(0), class = c("vctrs_list_of",     "vctrs_vctr", "list"))), row.names = c(NA, -1L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE))

library(wordcloud2)
library(htmltools)

for (a in sort(unique(df$age))) {
  # 创建标题元素,可自定义样式
  title <- tags$h2(
    style = "text-align: center; color: #2c3e50; margin-bottom: 20px;",
    paste("年龄", a, "岁的词云")
  )
  
  # 生成词云
  wc <- wordcloud2(
    subset(df, age == a)[c('definition', 'frequency')], 
    size = 0.7, 
    rotateRatio = 0, 
    color = "random-dark", 
    backgroundColor = 'skyblue', 
    widgetsize = c(1200, 675)
  )
  
  # 组合标题和词云并输出
  tagList(title, wc) |> print()
}

关键说明

  • 借助htmltools的tags函数创建标题标签(h1/h2/h3等均可),通过style参数可以自定义标题的对齐方式、颜色、间距等样式。
  • 使用tagList将标题和词云组件合并成一个完整的HTML输出,这样每次循环生成的内容都会包含对应的标题。

内容的提问来源于stack exchange,提问作者Julien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 13:45:30