在highcharter wordcloud中是否可以使用两个系列(或某种组)?

问题描述 投票:0回答:1

我正在尝试使用Highcharter R软件包(基于Highcharts库)创建一个wordcloud,以在一个wordcloud中显示两类情感(正负)。

重点是我也想显示一个图例。我的问题是,当我要显示图例时,单词并没有对齐。而且当我必须以正确的方式显示数据时,我将无法显示图例。

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

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"))

结果是:

如果我通过“颜色” hcaes(name = "term", color = "sentiment")更改“组”参数,那么我得到的是:enter image description here

谢谢。Wlademir。

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

javascript r highcharts r-highcharter
1个回答
0
投票

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

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

让我知道您的想法以及此解决方案是否适合您。重写为R时,可以使用JS(“”)函数将JavaScript函数代码转换为R。

© www.soinside.com 2019 - 2024. All rights reserved.