使用一个请求导出多个图表

时间:2016-09-16 10:48:58

标签: javascript jquery charts highcharts

在页面上我有2个图表。它们是用Highcharts库构建的。

我需要将它们全部导出为PNG个文件。所以我添加按钮,点击我需要有2个单独的png文件。

我有功能:

myApp.highchart.export.create = function (elementId, filename) {
    var chart = $(elementId).highcharts();
    chart.exportChart({ type: 'image/png', filename: filename, sourceWidth: chart.chartWidth });
}

我传递了每个图表的这个函数ID,但结果我总是得到最后一个图表...我尝试添加timeout但这没有帮助。

我在浏览器中查看了“网络”标签,并始终只看到http://export.highcharts.com/

的1个请求

有人可以帮我吗?

以下是两个图表的导出有效的示例,但在我的情况下,这也没有帮助(例如,它使用了一些插件highcharts-export-clientside,但我使用简单的exports.js)

UPD:我已添加highcharts-export-clientside插件,但仍使用高图方法exportChart(在插件中有exportChartLocal)。使用此插件可以导出多个图表,但在png我得到了错误的格式化图表,我的所有样式都被破坏了。因此,当我不使用任何方法时,我不知道这个插件有什么影响。

似乎多次导出在FF中有效但在Chrome中无效。

简单逻辑示例:http://jsfiddle.net/6mn2j5pL/

1 个答案:

答案 0 :(得分:0)

这可能会帮助您解决问题。

  

您可以使用Highcharts.charts获取图表数组。然后   您可以使用Highcharts.each来循环图表和导出   他们一个接一个。

http://forum.highcharts.com/highcharts-usage/how-to-export-multiple-charts-to-separate-image-files-t35191/

此论坛中提供的解决方案似乎也在使用chrome。