0

有没有办法防止隐藏折线图中取消选择的最后一个图例项?

我已经使用legendItemClick事件在柱形图/饼图上实现了它:

legendItemClick: function (e) {
    var self = this;
    var hiddenSeries = function () {
        var counter = 0;
        $.each(self.series.points, function (i, v) {
            if (!v.visible) {
                counter++;
            }
        });
        return counter;
    }

    if (self.series.points.length - 1 == hiddenSeries() && self.visible) {
        return false;
    } else {
        return true;
    }
}

正如您在下面的小提琴中看到的那样,它工作得很好,但是,它不适用于折线图,因为“this”对象不包含“series.points”属性。

4

1 回答 1

0

您可以参考图表变量以获取系列信息。我是这样做的:

           legendItemClick: function (e) {
                var visibleSeries = function () {
                    var counter = 0;
                    $.each(chart.series, function (i, v) {
                        if (v.visible) {
                            counter++;
                        }
                    });
                    return counter;
                }
                if (visibleSeries() <= 1 && this.visible) {
                    return false;
                } else {
                    return true;
                }
            }

http://jsfiddle.net/4tpsG/

于 2013-03-13T17:17:52.373 回答