有没有办法在 highcharter wordcloud 中使用两个系列(或某种组)?
Is there a way to use two series (or some kind of group) in highcharter wordcloud?
我正在尝试使用 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")
,那么我得到的是:
提前致谢。
弗拉基米尔.
PS:我认为 JS 中的解决方案也可以帮助我。
不可能将单词放在两个单独的系列中。您可以使用一个 wordcloud 系列,其中每个点都定义了 seriesId
索引。现在,您可以使用另外 2 个假线系列(它们不能是 wordcloud 类型),您可以在它们上面编写自定义 legendItemClick
事件逻辑。每当用户单击图例项时,算法都会遍历所有单词和 "hides" 正确的单词。
您可以在此处查看此示例:https://jsfiddle.net/BlackLabel/7tq01sn5/
让我知道您的想法以及此解决方案是否适合您。重写为 R 时,您可以使用 JS("") 函数将您的 JavaScript 函数代码转换为 R.
我遇到了同样的问题,偶然发现了这个。
可能是 highcharter 的问题,尽管已通过以下方式解决:
hcaes(name = "term", color = "sentiment")
即'color' 而不是 'colour'
我正在尝试使用 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")
,那么我得到的是:
提前致谢。 弗拉基米尔.
PS:我认为 JS 中的解决方案也可以帮助我。
不可能将单词放在两个单独的系列中。您可以使用一个 wordcloud 系列,其中每个点都定义了 seriesId
索引。现在,您可以使用另外 2 个假线系列(它们不能是 wordcloud 类型),您可以在它们上面编写自定义 legendItemClick
事件逻辑。每当用户单击图例项时,算法都会遍历所有单词和 "hides" 正确的单词。
您可以在此处查看此示例:https://jsfiddle.net/BlackLabel/7tq01sn5/
让我知道您的想法以及此解决方案是否适合您。重写为 R 时,您可以使用 JS("") 函数将您的 JavaScript 函数代码转换为 R.
我遇到了同样的问题,偶然发现了这个。
可能是 highcharter 的问题,尽管已通过以下方式解决:
hcaes(name = "term", color = "sentiment")
即'color' 而不是 'colour'