Javascript Highcharts:在图例上显示系列,但在图表上隐藏

Javascript Highcharts:在图例上显示系列,但在图表上隐藏,javascript,jquery,charts,highcharts,Javascript,Jquery,Charts,Highcharts,在highcharts中是否有一种方法可以从图表中隐藏一个系列,但仍然在图例中显示它 或者,我们是否可以添加一个虚构/伪图例项,但该项在图表中并不存在 上下文:客户要求我们根据其类别为条形图上色(前10条为默认颜色深蓝色,后2条为蓝色,最后3条为浅蓝色)。现在,他们要求我们放置3个图例项:A组(前10条)、B组(后2条)、C组(后3条)。B组和C组不需要单击,因为它们是虚构的图例。您可以通过将组中的图例链接到系列中的属性,请参阅下面的代码 您可以设置任意数量的无数据虚拟序列,这将在图例中设置一个

在highcharts中是否有一种方法可以从图表中隐藏一个系列,但仍然在图例中显示它

或者,我们是否可以添加一个虚构/伪图例项,但该项在图表中并不存在


上下文:客户要求我们根据其类别为条形图上色(前10条为默认颜色深蓝色,后2条为蓝色,最后3条为浅蓝色)。现在,他们要求我们放置3个图例项:A组(前10条)、B组(后2条)、C组(后3条)。B组和C组不需要单击,因为它们是虚构的图例。

您可以通过
将组中的图例链接到系列中的
属性,请参阅下面的代码


您可以设置任意数量的无数据虚拟序列,这将在图例中设置一个条目

要确保虚拟序列不会占用绘图区域中的任何空间,可以在
绘图选项中设置
分组:false

代码:

plotOptions: {
  series: {
    grouping: false,
    events: {
      legendItemClick: function() {
        return false;
      }
    }
  }
}
返回false的
legendItemClick
事件会阻止图例显示/隐藏序列。如果您想要不同的行为,可以对函数进行更详细的说明

当然,如果您想要图例的完整行为,您可以使用三个实际序列来构建图表,而不是使用两个伪序列,并且只以[x,y]对的形式提供数据

小提琴:

plotOptions: {
  series: {
    grouping: false,
    events: {
      legendItemClick: function() {
        return false;
      }
    }
  }
}
输出:

plotOptions: {
  series: {
    grouping: false,
    events: {
      legendItemClick: function() {
        return false;
      }
    }
  }
}

也许您可以使用chart.renderer.label向图例中添加新标签?您可以添加没有数据的虚拟系列。@jlbriggs尝试了这种方法,但隐藏系列最终占用了图表上的空间,即使pointWidth设置为0。这似乎与要求的相反。