highcharts,downloadPNG删除图表数据

时间:2018-05-03 07:10:17

标签: highcharts angular2-highcharts

我在使用highcharts下载PNG图像时遇到问题,我想使用我自己的按钮而不是highcharts,阅读我需要使用“exportChart”函数的文档,但它会删除数据:

options:any = {
  exporting: {
    enabled: false
  }
}

exportPNG():void{
   this.chart.exportChart(); 
}

有一个“几乎工作”的例子,它在app.module中使用“require”给出了一个错误,另一个在从导出导入的tyring时出错,帮助使示例工作将是apreciate

https://stackblitz.com/edit/angular-dqck8n

当它工作时,我们可以点击“下载按钮”并下载图表,但如果再次点击它会返回一个错误,因为数据已从图表中删除。

我已经意识到使用导出库也会发生这种情况,您可以检查下载图像文件并尝试缩小。

1 个答案:

答案 0 :(得分:1)

原因是saveInstance方法 - 在每个图表的负载上调用它。导出时,会创建一个新的临时图表,然后将其删除,因此现在您的角度组件具有对已删除的导出图表的引用 - this.chart内的exportPNG()是指空图表对象。

您可以检查是否为普通图表调用了load事件,然后保存图表的实例。

saveInstance(chartInstance): void {
  if (!chartInstance.options.chart.forExport) this.chart = chartInstance;
}

直播示例:https://stackblitz.com/edit/angular-41tmjd?file=app/mychart.component.ts