截屏时,Highcharts从图例中隐藏未激活的系列

时间:2018-10-04 09:36:47

标签: javascript angularjs highcharts

拍摄屏幕快照时,是否有可能隐藏图例中的所有非活动系列?

例如,我有这样的图表:

enter image description here

但是我想要的是这样的: enter image description here

2 个答案:

答案 0 :(得分:0)

您可以包装exportChart方法,并在不可见序列上将showInLegend属性设置为false

var H = Highcharts;

H.wrap(H.Chart.prototype, 'exportChart', function(proceed, exportingOptions) {
    var series = this.series;

    Highcharts.each(series, function(s) {
        if (s.visible) {
            s.update({
                showInLegend: true
            }, false);
        } else {
            s.update({
                showInLegend: false
            }, false);
        }
    });

    // which are sliced off this function's arguments
    proceed.apply(this, Array.prototype.slice.call(arguments, 1));

    Highcharts.each(series, function(s) {
        s.update({
            showInLegend: true
        }, false);
    });

    this.redraw();
});

实时演示:http://jsfiddle.net/BlackLabel/cgj9vwas/

答案 1 :(得分:0)

尝试一下:

series: [{
            showInLegend: false,
            name: 'Series',
            data: value                
        }]