0

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

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

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

于 2018-05-04T14:59:44.300 回答