2013-06-19 88 views
1

我在Yii Framework中創建具有兩個圖層的HighChart圓環圖時遇到了問題。 這是我使用得到一個一層圖表代碼:HighCharts圓環圖鑽取

<?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網站上我可以找到關於如何實現「鑽」只是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的widget時什麼是等效操作?

回答

0

畢竟我自己找到了。希望這個答案也可以幫助其他人。

<?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'以便使圖層之間的邊界匹配。