我尝试使用从教条查询结果创建的JSON填充Flot Pie图表,但未成功。 这是详细信息...
控制器:
$resultJson = json_encode($query);
return $this->render('default/index.html.twig', array( 'result' => $resultJson ));
JSON结果:
[{"label":"project 1","data":"5"},
{"label":"project 2","data":"1"},
{"label":"project 3","data":"1"}]
使用Javascript:
var data = '{{ result}}';
var options = {
series: {
pie: {
show: true,
label: {
show: true,
radius: 0.8,
formatter: function (label, series) {
return '<div style="...">' +
label + ' : ' +
Math.round(series.percent) +
'%</div>';
},
background: {
opacity: 0.8,
color: '#000'
}
}
}
}
};
$.plot($("#flot"), data, options);
当前结果(未定义的标签和一个以上的标签):http://oi61.tinypic.com/28srjut.jpg
答案 0 :(得分:4)
您应该删除所述的单引号,并且您需要输出不转义。 Twig会自动将双引号转义为“安全”,但这不是你想要的。它应该是:
var data = {{ result|raw }};
作为旁注,我写了一个小Flot library和Symfony Flot bundle,它有助于将PHP数组转换为常见的Flot格式,如饼图,折线图,条形图等。它可能有一些用处你可以帮助为Twig准备数据。