Highcharts:添加自定义导出选项时在导出菜单中获取重复项

时间:2016-06-29 12:11:26

标签: javascript charts highcharts export data-visualization

我有一个网页,我在其中显示两个Highcharts可视化。我正在为这两个图表中的每一个添加新的导出选项,以便用户可以下载与每个图表数据相关的Excel电子表格。我已经在Highcharts.setOptions()中有一系列导出选项,用于事件跟踪;这些选项与我网站上的其他图表一起使用,并且是通用的。

这是我的挑战:添加新导出选项的代码可以使用,但它会将其添加到两个图表中,而不仅仅是我想要的那个。我不确定为什么会这样,因为我明确地将新选项仅添加到相关图表的选项数组中。

我的代码的工作小提琴可以在这里找到:http://jsfiddle.net/brightmatrix/qr422sjk/2/

我添加新导出选项的关键代码如下:

var drawChart1 = new Highcharts.Chart(chart1);
drawChart1.options.exporting.buttons.contextButton.menuItems.push({
    text: 'Download Excel spreadsheet (chart #1)',
    onclick: function () {
        window.open('https://docs.google.com/spreadsheets/d/1bDffOyfCe0gWLqmXwW5TrlQ8RkfFDXiMqyNhRXlNlDU/edit#gid=0');
    }
});

var drawChart2 = new Highcharts.Chart(chart2);
drawChart2.options.exporting.buttons.contextButton.menuItems.push({
    text: 'Download Excel spreadsheet (chart #2)',
    onclick: function () {
        window.open('https://docs.google.com/spreadsheets/d/1bDffOyfCe0gWLqmXwW5TrlQ8RkfFDXiMqyNhRXlNlDU/edit#gid=0');
    }
});

这是我在任一图表中切换导出菜单时看到的内容:

enter image description here

欢迎任何建议或指导。谢谢!

1 个答案:

答案 0 :(得分:1)

正如塞巴斯蒂安已在评论中写道 - 如果您在创建每个图表之前使用Highcharts.setOptions(),那么两个图表都只会设置选项。

示例:http://jsfiddle.net/qr422sjk/3/