2013-07-29 53 views
5

我需要像spiderweb或windrose那样的极坐标图y轴的帮助。 我有一个仪表板应用程序,其中包含一些小部件,每个小部件包含一个带Highcharts图表的iframe。 由于这些小部件是可重用的,我有一些javascript用于调整图表容器的大小。极坐标图中y轴的错误渲染

$(window).bind("resize", resizeChart); 
    function resizeChart() { 
     var width = $(document).width() - 55; 
     var height = $(document).height() - 60; 
     $("#container").css("width", width); 
     $("#container").css("height", height); 
    } 

一些示例:http://jsfiddle.net/CwnDw/

我的问题是,Y轴的规模通常看起来非常难看。当图表加载时,y轴只有一个刻度。 将图表调整为+ 10 px后,它不包含勾号,在调整为初始大小后,y轴渲染5个刻度。我不明白为什么。 在我的示例中,我只在将图表从小尺寸调整为更大尺寸时才得到这些效果。

是否有更好的方式来调整图表大小?我试过了chart.setSize()函数,但是没有效果。或者:有没有办法重新渲染/重新计算y轴?

谢谢 托本

回答

0

试试这个:使用

function resizeChart() { 
    var width = $(document).width() - 55; 
    var height = $(document).height() - 60; 
    $("#container").css("width", width); 
    $("#container").css("height", height); 
    setTimeout(function() { 
     chart1.setSize(
      width, 
      height, 
      false 
     ); 
    },10); 
} 

http://jsfiddle.net/9YFB8/2/

+0

这没有任何作用。我猜想周围的iFrame有问题。我尝试编辑我的jsFiddle示例 – Torben

1

我不知道这一点会实现你在找什么的重新绘制方法,但我的经验Highcharts,我发现最好指定勾号位置以避免任何意外的结果。

这里是Highchart文档中有关yAxis: tickPosition

http://api.highcharts.com/highcharts#yAxis.tickPositions

有一个相当不错的jsfiddle比如有应覆盖执行一个链接。