javascript - 有没有办法在 highcharter wordcloud 中使用两个系列(或某种组)?

标签 javascript r highcharts r-highcharter

我正在尝试使用 Highcharter R 包(基于 Highcharts 库)创建一个词云,以在一个词云中显示两类情绪(积极和消极)。

重点是我也想展示一个传奇。我的问题是,当我要显示图例时,单词没有对齐。当我以正确的方式显示数据时,我无法显示图例。

显示我的问题的最简单的情况如下:

library(tidyverse)
library(highcharter)

positive <-
  c(
    "tranquilo",
    "tranquila",
    "nova"  ,
    "burocratico" ,
    "bom"      ,
    "assertivo"   ,
    "rapido"    ,
    "transparente"
  )

negative <-
  c(
    "trabalhoso" ,
    "conduzida" ,
    "passa"  ,
    "congelada" ,
    "pessima"  ,
    "moroso"   ,
    "pouco",
    "opinar"  ,
    "passado"  ,
    "afastado"
  )

df <- list(
  tibble("term" = positive,
         "sentiment" = "positive"),
  tibble("term" = negative,
         "sentiment" = "negative")
) %>% bind_rows()

df %>%
  hchart(
    "wordcloud",
    hcaes(name = "term", group = "sentiment"),
    showInLegend = TRUE,
    colorByPoint = FALSE
  ) %>%
  hc_colors(c("#E0362C", "#189D3E"))

结果是:

如果我将“group”参数更改为“color”hcaes(name = "term", color = "sentiment"),那么我得到的是: enter image description here

提前致谢。 弗拉德米尔。

PS:我认为 JS 中的解决方案也可以帮助我。

最佳答案

不可能将单词放置在两个单独的系列中。您可以使用一个词云系列,其中每个点都定义了 seriesId 索引。现在,您可以使用另外 2 个假线系列(它们不能是 wordcloud 类型),并且可以在它们上编写自定义 legendItemClick 事件逻辑。每当用户单击图例项时,算法就会循环遍历所有单词并“隐藏”正确的单词。

您可以在此处查看此示例:https://jsfiddle.net/BlackLabel/7tq01sn5/

请告诉我您的想法以及该解决方案是否适合您。重写为 R 时,可以使用 JS("") 函数将 JavaScript 函数代码转换为 R。

关于javascript - 有没有办法在 highcharter wordcloud 中使用两个系列(或某种组)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60780978/

相关文章:

javascript - 在 Highcharts 中结合预处理数据和下钻

javascript - 浏览器支持 Javascript 中的类语法

javascript - div 在元素内滚动,但使用 java 和 selenium

javascript - 如何使用 JQuery 显示自定义导航选项卡的内容?

r - 所有数据框行到新列

r - 如何在两列之间交换值

javascript - 作为函数且具有 namespace 的模块的 typescript 定义?

r - 使用 rvest 抓取时,在缺失值的地方输入 NA

javascript - 获取 Highcharts 散点图中的所有点?

javascript - Highcharts 分组类别数据 csv