我在使用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
当它工作时,我们可以点击“下载按钮”并下载图表,但如果再次点击它会返回一个错误,因为数据已从图表中删除。
我已经意识到使用导出库也会发生这种情况,您可以检查下载图像文件并尝试缩小。
答案 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