2017-03-13 102 views
1

我今天在一個symfony3項目中開始使用Highcharts,並且線條圖工作得很好。我在繪製餅圖時遇到了問題,我在牆上敲打我的頭,試圖弄清楚爲什麼它不起作用。Symfony3 Highcharts餅圖空白

如果我直接在我的樹枝模板中使用javascript呈現,我可以重現基本的餅圖(如this one),並且它看起來和預期的一樣。但如果我嘗試從我的控制器渲染,我會在餅圖應該是空白圖像。我的圖表標題在那裏,所以我知道我正在渲染到正確的div。但圖表是空白的。我甚至嘗試過非常簡單的數據結構(如docs所建議的數組數組),但沒有運氣。這一定很簡單。幫幫我!

我的控制器:

public function piechartAction() 
{ 
    $data = [["name"=> 'Microsoft Internet Explorer', "y"=> 56.33], 
     ["name"=> 'Chrome', "data"=> 24.03], 
     ["name"=> 'Firefox', "y"=> 10.38], 
     ["name"=> 'Safari', "y"=> 4.77], 
     ["name"=> 'Opera', "y"=> 0.91], 
     ["name"=> 'Proprietary or Undetectable', "y"=> 0.2]]; 

    $ob = new Highchart(); 
    $ob->chart->renderTo('container'); 
    $ob->chart->type('pie'); 
    $ob->title->text('My Pie Chart'); 
    $ob->series(array("data"=>$data)); 

    return $this->render('dashboard/test.html.twig', [ 
     'mypiechart' => $ob 
    ]); 
} 

而且我樹枝模板

{% extends 'base.html.twig' %} 

{% block javascripts %} 
    {{ parent() }} 

    <script src="//code.highcharts.com/highcharts.js"></script> 
    <script src="//code.highcharts.com/modules/exporting.js"></script> 
    <script> 
     jQuery(document).ready(function() { 
      {{ chart(mypiechart) }} 
     }); 
    </script> 
{% endblock %} 

{% block body %} 
    <div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div> 
{% endblock %} 
+0

什麼是你使用的PHP庫? – goto

+0

PHP版本5.6.3,Symfony v.3.2.6 – ehymel

+0

我還應該指出,我正在使用https://github.com/marcaube/ObHighchartsBundle – ehymel

回答

1

我解決了這個。對於任何未來的人,以下是我的錯: 我的系列數據設置不是正確的格式。

這是我新的(工作)控制器:

public function piechartAction() 
{ 
    $data = [ 
     ['Microsoft Internet Explorer', 56.33], 
     ['Chrome', 24.03], 
     ['Firefox', 10.38], 
     ['Safari', 4.77], 
     ['Opera', 0.91], 
     ['Proprietary or Undetectable', 0.2] 
    ]; 

    $ob = new Highchart(); 
    $ob->chart->renderTo('container'); 
    $ob->chart->type('pie'); 
    $ob->title->text('My Pie Chart'); 
    $ob->series(array(array("data"=>$data))); 

    return $this->render('dashboard/test.html.twig', [ 
     'mypiechart' => $ob 
    ]); 
} 

我發現這個通過研究 「食譜」 該軟件包(here)相關聯;有一個下鑽式餅圖的清單。