gpt4 book ai didi

Highcharts 系列 - 想要显示/隐藏除所选系列之外的所有系列(默认逻辑的反转)

转载 作者:行者123 更新时间:2023-12-03 06:44:32 37 4
gpt4 key购买 nike

默认情况下,Highcharts 允许您单击数据系列集来隐藏/取消隐藏它。

更有用的方法是执行相反的逻辑 - 即仅显示选定的系列并隐藏/取消隐藏未选定的系列。

看看这里的示例( http://jsfiddle.net/t2MxW/14/ ),很明显可以“拦截”“legendItemClick”事件,我只是不确定如何实现要求逻辑

可以替换下面的脚本来获取3个数据集。

所需场景:例如,能够单击“苹果”并显示/隐藏“梨”和“橙子”。

================== 粘贴开始 =========================== ===========

var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},

plotOptions: {
series: {
events: {
legendItemClick: function(event) {
var visibility = this.visible ? 'visible' : 'hidden';
if (!confirm('The series is currently '+
visibility +'. Do you want to change that?')) {
return false;
}
}
}
}
},

series:[{name: 'apples',
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]},
{name:'pears',
data: [19.9, 81.5, 96.4, 119.2, 124.0, 166.0, 155.6, 138.5, 116.4, 144.1, 95.6, 54.4]},

{name:'oranges',
data: [119.9, 181.5, 46.4, 219.2, 24.0, 66.0, 255.6, 238.5, 16.4, 44.1, 95.6, 54.4]}
]

});

最佳答案

HighCharts 中的每个事件都包含 this 值,该值包含当前元素(在本例中为系列)。您可以使用 this.chart.series 选择所有系列,并以您想要的任何方式处理它们。试试这个功能。

legendItemClick: 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;
}

fiddle :https://jsfiddle.net/t2MxW/21971/

关于Highcharts 系列 - 想要显示/隐藏除所选系列之外的所有系列(默认逻辑的反转),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608410/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com