highcharts, 下载PNG删除图表数据

highcharts, downloadPNG remove chart data

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

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

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

有一个 "almost working" 示例,它在 app.module 中使用 "require" 给出了一个错误,而另一个在尝试从导出导入时给出了一个错误,帮助使示例工作将是 apreciate

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

当它工作时,我们可以点击 "download button" 并下载图表,但如果再次点击它 returns 一个错误,因为数据已从图表中删除。

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

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

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

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

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