简体   繁体   English

如何在图例中选择多个系列 - highchart - javascript

[英]How to select multiple series in the legend - highchart - javascript

I would like to select multiple series in the legend like here . 我想在这里的传奇中选择多个系列。

With help, I succeed to create the same thing on R but it doesn't allowed to select more than one serie at a time. 在帮助下,我成功地在R上创建了相同的东西,但它不允许一次选择多个系列。

Because I'm on R, I use the shinyjs package. 因为我在R上,所以我使用了shinyjs包。 The javascript code is in jsCode. javascript代码在jsCode中。

The code : 编码 :

library(highcharter)
library(shiny)
library(shinydashboard)

data_plot <- data.frame(categories = c("A", "B", "C", "D"),
                        serie1 = c(1563, 1458, 205, 695),
                        serie2 = c(562, 258, 17, 115),
                        serie3 = c(324, 654, 23, 987),
                        serie4 = c(123, 567, 234, 12),
                        serie5 = c(376, 88, 98, 123)
)

jsCode <- JS("function(event) {
if (!this.visible )
return false;

var seriesIndex = this.index;
var series = this.chart.series;

for (var i = 0; i < series.length; i++)
{
if (series[i].index != seriesIndex)
{
series[i].visible ?
  series[i].hide() :
  series[i].show();
} 
}
return false;
}")

ui <- dashboardPage(


  dashboardHeader(title = "My Dashboard"),

  dashboardSidebar(),

  dashboardBody(  

    highchartOutput ("hc1")))

server <- function(input, output,session) {

  #Normal Chart
  output$hc1 <- renderHighchart ({
    Hch <- highchart(hcaes(x = Spring ,y = Ponctuation)) %>% 
      hc_title(text = "Graph",
               margin = 20, align = "left",
               style = list(color = "#FE8000", useHTML = TRUE)) %>% 
      hc_xAxis(categories = data_plot$categories, title = list(text = "Number 
 of spring",color = "#FE8000")) %>%
      hc_yAxis(title = list(text = "Result", color = "#FE8000"))%>% 
      hc_add_series(name = 'serie1', data = data_plot$serie1) %>% 
      hc_add_series(name = 'serie2', data = data_plot$serie2)%>% 
      hc_add_series(name = 'serie3', data = data_plot$serie3)%>% 
      hc_add_series(name = 'serie4', data = data_plot$serie4)%>% 
      hc_add_series(name = 'serie5', data = data_plot$serie5) %>% 
      hc_plotOptions(series = list(events = list(legendItemClick = jsCode)))

    Hch})
}
shinyApp(ui, server)

Resolved, the only difference I had with the java exemple was that I had to put true in the return : 已经解决了,我与java例子的唯一区别是我必须在返回时输入true:

jsCode <- JS("function(event) {
if (!this.visible )
return **TRUE**;
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM