Highcharts原始背景颜色总是被导出

时间:2013-08-05 03:54:53

标签: highcharts

我有一个高图表图表,其中包含一系列面积图和一个线图,图表也具有初始背景颜色。该图表有一种方法可以通过单击图例来打开和关闭区域和背景颜色(请参阅工作jsfiddle)。除了当您关闭区域/背景颜色并尝试导出图表时,一切正常。导出始终显示原始背景颜色。

http://jsfiddle.net/lamarant/BHkmw/

更改背景颜色的代码如下所示:

if (doHide) {
    this.chart.plotBackground.attr({
        fill: '#fff'
    });
} else {
    this.chart.plotBackground.attr({
        fill: '#000'
    });
}

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

事实上,在导出期间,图表会再次生成,因此不包括动态选项(如attr())。因此,您可以设置全局变量,它将保持“当前”背景,并在导出选项(chartOptions)中使用load事件,这将设置正确的背景。

exporting: {
            chartOptions: {
                chart: {
                    events: {
                        load: function () {
                            this.plotBackground.attr({
                                fill: globalBackground
                            });
                        }

                    }
                }
            }
        },

http://jsfiddle.net/BHkmw/9/