【问题标题】:highcharts, downloadPNG remove chart datahighcharts, downloadPNG 删除图表数据
【发布时间】:2018-05-03 07:10:17
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

    标签: highcharts angular2-highcharts


    【解决方案1】:

    原因是saveInstance 方法 - 在每个图表加载时都会调用它。导出时,会创建一个新的临时图表,然后将其删除,因此现在您的角度组件具有对已删除导出图表的引用 - 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

    【讨论】:

    • 谢谢!你的解释很完美!现在我明白了问题和解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多