如何在 Highcharts 中 revert/reverse/undo setSize()

How to revert/reverse/undo setSize() in Highcharts

提问是因为我花了一段时间试图解决这个问题,但答案并不容易 Google-able:

如果我手动设置了图表的大小,我该如何让它恢复到设置之前的状态? (问题故意含糊不清,因为我找到了两个不同的答案)。

您可能想做以下两件事之一:

  1. 回到之前的固定大小

  2. 返回根据包含元素的大小可变的大小。

对于 #1,您可以在调用 setSize() 之前通过调用 chart.chartHeightchart.chartWidth(其中var chart = $('#chart-container').highcharts();),然后用原始值再次调用 setSize()

对于 #2,在调用 setSize() post-print 后,如果 window 发生变化,图表将不再自动调整自身大小。您可以使用此处详述的 'hack' 来解决此问题:Is modifying chart.hasUserSize a bad idea after calling Chart.setSize()? 其中包括设置 chart.hasUserSize = false;