Highcharts jQuery渲染问题 – 所有浏览器

在尝试使用Highcharts构建堆积柱形图时,我遇到了一个奇怪的问题

当图表呈现时, 列不显示,直到您无论如何调整浏览器大小 ,导致图表重绘。 (我认为)! 图表的其余部分显示(轴,标题等),但不显示列本身。

我在IE,Firefox和Chrome中得到了同样的行为。

我把我的代码放在jsfiddle上 – http://jsfiddle.net/gd7bB/173/加载它你应该看不到数据,调整浏览器窗口大小和“tada”,数据出现(而不是列出现)!

对这一个的任何帮助都将受到大力赞赏。

删除line chart.render();

调用HighCharts构造函数时,不需要隐式调用render

我有完全相同的问题 – Highcharts JS v2.1.5(2011-06-22)不适用于jQuery 1.7.1

更改为jQuery 1.6.1(我使用的最后一个稳定版本)后,它工作正常。 有人应该检查其他版本的jQuery。

我有同样的问题 – 加载页面后,图表没有显示行(只有标题和图例)。 任何浏览器resize或缩放图表后突然出现。

问题是jQuery> 1.7(我的版本现在是1.8.2)将Highcharts更新到最新版本(v2.3.3(2012-10-04))修复了问题(以及其他小问题)

如果在脚本末尾resize() div(容器resize()resize() ,则无需更改任何版本的Highcharts或Jquery。

例如:

 $('#div').resize(); 

使用jQuery 1.7.2 + HighCharts 3.0.2,问题通过使用:

 var chart = new Highcharts.Chart({ chart: { renderTo: 'container', events: { load: function(event) { //When is chart ready? $(window).resize(); } } }, .. 

这与@revo几乎相同,但使用’window’对象而不是’document’。

也许有点晚了,但我遇到了与jQuery 1.9.1相同的问题,并且不想用dotnet.highcharts将它降级为Highcharts。

如果您在那里创建一个新的Highchart,例如

 .InitChart(new Chart { DefaultSeriesType = ChartTypes.Line, MarginRight = 130, MarginBottom = 25, ClassName = "chart", Events = new ChartEvents { Load = "function(event) { $(document).resize(); }" } }) ..... 

你也可以使用它

 var chart = new Highcharts.Chart({ chart: { renderTo: 'container', events: { load: function(event) { //When is chart ready? $(document).resize(); } } }, .. 

。 事件线是你需要的,然后你渲染你的图表

我希望它有所帮助,我有一些时间来弄清楚它是如何工作的:)

这里的“不那么精致”的解决方案是最终为我解决的问题。

 setTimeout(function() { $(window).resize(); }, 0); 

使用带有Python Django的名为DjangoChartit的包装器的highcharts。