2015-06-21 116 views
0

我使用Highchart和列类型制作图表。我用mysql数据库工作Highcharts列仅显示一个类别

series: [<?php while ($c1=mysql_fetch_array($qc1)){ ?> 
      { 
       name: '<?php echo $c1[0]; ?>', 
       data: [<?php echo $c1[1]; ?>] 
      }, 
      <?php } ?> 
      ] 

我想编号xAxes从1-11

xAxis: { 
       categories: ['1','2','3','4','5','6','7','8','9','10','11'] 
      }, 

但它只能显示1 enter image description here

回答

1

它通过创建多个系列引起的,所以有两种选择:

1)改为创建一个系列:

series: [ 
    data: [<?php while ($c1=mysql_fetch_array($qc1)){ ?> 
     { 
      name: '<?php echo $c1[0]; ?>', 
      y: [<?php echo $c1[1]; ?>] 
     }, 
     <?php } ?> 
     ] 
} 

2)或每个点的设置x

series: [ 
     <?php 
      $index = 0; 
      while ($c1=mysql_fetch_array($qc1)){ 
       $index++; 
     ?> 
       { 
       name: '<?php echo $c1[0]; ?>', 
       data: [<?php echo $index.','.$c1[1]; ?>] 
       }, 
     <?php 
      } 
     ?> 
     ] 

注:第二个解决方案可能需要设置plotOptions.series.grouping = false。否则Highcharts将为每个系列的每个类别制作空间。

+0

这两个选项不起作用 – user2967801

+0

我不是PHP家伙,也许我在代码中犯了一个错误。请检查代码是否正确编译。如果代码有效,则提供javascript错误。我希望你明白它是如何工作的? –