2013-08-01 132 views
2

我有一个简单的条形图,它在IE8下无法正确呈现(列不可见)。它确实显示与Firefox和IE 9 +。HighCharts - 条形图在IE8中无法正确显示

我使用jQuery 1.8.3和highcharts 3.0.3。

我保留代码示例中的数据,因为绘制的列数对于重现问题很重要。如果我删除了一个serie,该图在IE8中正确呈现。

下面是代码:

$(function() { 
    $(document).ready(function() { 
     var barOptions = { 
      chart: { 
       renderTo: 'container', 
       width:450, 
       height:350, 
       type: 'column' 
      }, 
      xAxis: { 
       categories: [0,1,2,3,4,5,6,7,8,9,10] 
      }, 
      series: [{ 
       name: 'NC', 
       data: [7057, 6858, 6643, 6570, 6115, 107, 31, 635, 203, 2, 2] 
      }, { 
       name: 'OK', 
       data: [54047, 52484, 50591, 49479, 46677, 33, 156, 947, 408, 6, 2] 
      }, { 
       name: 'KO', 
       data: [11388, 11115, 10742, 10757, 10290, 973, 914, 4054, 732, 34, 2] 
      }, { 
       name: 'VALID', 
       data: [8836, 8509, 8255, 7760, 7621, 973, 914, 4054, 732, 34, 2] 
      }, { 
       name: 'CHECK', 
       data: [115, 162, 150, 187, 172, 973, 914, 4054, 732, 34, 2] 
      }, { 
       name: 'COR', 
       data: [12566, 12116, 11446, 10749, 10439, 973, 914, 4054, 732, 34, 2] 
      }] 
     }; 

     barChart = new Highcharts.Chart(barOptions); 
    }); 
}); 

关于如何解决此问题的任何想法?

回答

1

正如其他人所说,这看起来像在Highcharts的错误。解决方法是在图表呈现后,以编程方式隐藏和显示其中一个系列。

JSFiddle here。试试IE8 here

$(function() { 
    var barOptions = { 
     chart: { 
      renderTo: 'container', 
      width: 450, 
      height: 350, 
      type: 'column' 
     }, 
     xAxis: { 
      categories: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
     }, 
     series: [{ 
      name: 'NC', 
      data: [7057, 6858, 6643, 6570, 6115, 107, 31, 635, 203, 2, 2] 
     }, { 
      name: 'OK', 
      data: [54047, 52484, 50591, 49479, 46677, 33, 156, 947, 408, 6, 2] 
     }, { 
      name: 'KO', 
      data: [11388, 11115, 10742, 10757, 10290, 973, 914, 4054, 732, 34, 2] 
     }, { 
      name: 'VALID', 
      data: [8836, 8509, 8255, 7760, 7621, 973, 914, 4054, 732, 34, 2] 
     }, { 
      name: 'CHECK', 
      data: [115, 162, 150, 187, 172, 973, 914, 4054, 732, 34, 2] 
     }, { 
      name: 'COR', 
      data: [12566, 12116, 11446, 10749, 10439, 973, 914, 4054, 732, 34, 2] 
     }] 
    }; 

    barChart = new Highcharts.Chart(barOptions); 
    barChart.series[0].hide(); 
    barChart.series[0].show(); 
}); 
+1

谢谢隐藏和显示一个系列解决问题! – piravel