HighCharts甜甜圈图表钻取

时间:2013-06-19 08:59:58

标签: php yii highcharts donut-chart

我无法在Yii Framework中创建包含两个图层的HighChart圆环图。 这是我用于获取单层图表的代码:

<?php 
$this->widget('bootstrap.widgets.TbHighCharts', array(

   // .. 'options', 'chart', 'legend', .. 

   'series' => array(
   array(
      'type' => 'pie',
      'name' => 'Series of Browsers',
      'data' => array(array('MSIE', 55), array('Firefox',10), array('Chrome',15), array('Safari', 20)),
   ),

   // ..
?>

但是在highchart网站上我只能找到关于如何实现'drilldown'的java示例。你有解决方案在Yii中用php实现相同的功能吗?

提前感谢您的帮助!

- 编辑 -

在java中,我必须做这样的事情:

drilldown: {
   name: 'MSIE',
   categories: ['MSIE 6.0', 'MSIE 7.0', 'MSIE 8.0', 'MSIE 9.0'],
   data: [10.85, 7.35, 33.06, 2.81]
}

但是在Yii中使用小部件时的等效操作是什么?

1 个答案:

答案 0 :(得分:1)

毕竟我自己找到了。希望这个答案能够帮助其他人。

<?php 
  $this->widget('bootstrap.widgets.TbHighCharts', array(

    'chart' => array(
      'borderColor'=>'#e5e5e5',
      'type' => 'pie',
    ),

    // .. 'options', 'legend', .. 

    'series' => array(
      // --------- inner layer of the pie
      array(
        'size' => '40%',
        'data' => array(
          array(
            'name' => //name
            'y' => //value
          ),
          array(
            'name' => //name
            'y' => //value
          ),
        ),
     ),
     // -------- second layer from the inside
     array(
        'size' => '60%',
        'innerSize' => '40%',
        'data' => array(
          array(
            'name' => //name
            'y' => //value
          ),
          array(
            'name' => //name
            'y' => //value
          ),
        ),
     ),
     // ----- add as manny layers as you need to
    ),
    // ..
  );
?>

请注意,因为图层不直接相互链接。这意味着您必须明智地设置值'y'才能使层之间的边界匹配。