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