Symfony3 Highcharts饼图空白

时间:2017-03-13 02:44:30

标签: symfony highcharts pie-chart

我今天在一个symfony3项目中开始使用Highcharts,并使折线图运行良好。我在渲染一个饼图时遇到了麻烦,我正在试图找出它为什么不能正常工作时在我的墙上敲打。

如果我直接在我的twig模板中使用javascript渲染,我可以重现基本饼图(如this one),它看起来像预期的那样。但是,如果我尝试从我的控制器渲染,我得到一个饼图应该是空白图像。我的图表标题就在那里,所以我知道我正在渲染到正确的div。但图表是空白的。我甚至尝试过非常简单的数据结构(如docs建议的数字数组),但没有运气。这一定很简单。救命啊!

我的控制器:

try:
   form.author = MyProfile.objects.get(user=request.session['username'])
except MyProfile.DoesNotExist:
    form.author = None

我的树枝模板

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
    ]);
}

1 个答案:

答案 0 :(得分: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
    ]);
}

我通过研究" cookbook"与此捆绑相关联(here);有一个深入的饼图列表。