我有一个Highchart,当窗口改变大小时,可以大幅调整宽度。但不是身高。我尝试了这个设置的图表大小,但它没有正常工作。窗口更改大小时是否有其他方式自动更改高度?
这是我输出的css代码。我有一个Jquery UI选项卡,另一个选项卡显示datatable
#output-container { float: right; display: inline; position: absolute; right: 10px; left: 400px; top:120px; overflow-y: auto; }
这是我的css for chartdiv:
#chartContainer{ margin: auto; }
这是js图表功能:
function qchart(){ chart = new Highcharts.Chart({ chart: { renderTo: 'chartContainer',type: 'column',spacingBottom: 3,//height: (screen.availHeight)-500,marginRight: 30,marginBottom: 30,reflow: true },//etc.. }; //... }
解决方法
然而,里卡多的答案是正确的:有时您可能会发现自己处于容器根本无法根据需要调整大小的情况,因为浏览器窗口会更改大小,因此不允许使用高分辨率来调整大小。
这总是有效:
1.设置一个定时和流水线的调整大小事件侦听器。 Example with 500ms on jsFiddle
2.在实际调整大小函数中使用chart.setSize(width,height,doAnimation = true);
来动态设置高度和宽度3.在highcharts选项中设置回流:false,当然在创建时可以明确地设置高度和宽度。因为我们正在做自己调整大小的事件处理,所以不需要另一个钩子。