1

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

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

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

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

有任何想法吗?

4

1 回答 1

3

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

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

                    }
                }
            }
        },

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

于 2013-08-05T10:28:34.060 回答