用一个请求导出多个图表

Export multiple charts with one request

本文关键字:一个 请求      更新时间:2023-09-26

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

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

I have function:

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

我传入每个图表的这个函数Id,但结果我总是只得到最后一个图表…我试着添加timeout,但这没有帮助。

我看了看浏览器中的网络选项卡,总是看到只有1个请求http://export.highcharts.com/

谁能帮我一下吗?

这是一个例子,导出2个图表的工作,但在我的情况下,这也没有帮助(在例子中,它是使用一些插件highcharts-export-clientside,但我使用简单的export .js)


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


似乎也像多个导出工作在FF,但不是在Chrome。


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

这可能会帮助你解决这个问题。

你可以使用Highcharts。用于获取图表数组的Charts。然后你可以使用Highcharts。每个都用于循环您的图表和导出一个接一个。

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

本论坛提供的解决方案似乎也适用于chrome。