[英]Passing data in array that came from an array to chartjs with django
[英]Passing JSON data from PHP array into ChartJS
所以我有一個PHP數組,它是根據從WordPress的高級自定義字段中提取的數據創建的:
<?php
$chartArray = array();
forEach($cat_meta as $key => $value) {
$chartArray[] = array($value['star_rating']);
}
echo json_encode($chartArray);
?>
這將在頁面上輸出以下內容:
[[“ 2”],[“ 4”],[“ 1”],[“ 3”],[“ 5”]]
我正在嘗試將結果放入ChartJS文件的data變量中:
var radarChartData = {
labels: ["Price", "Speed", "Format", "Size", "User Experience"],
datasets: [
{
label: "My First dataset",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(224,07,19,1)",
pointColor: "rgba(224,07,19,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(224,07,19,1)",
data: [5, 4, 5, 5, 1, 3] // data needs to replace this
}
]
};
var ctx = document.getElementById('RadarChart').getContext('2d');
var myRadarChart = new Chart(ctx).Radar(radarChartData);
我有點PHP / Javascript n00b,所以我希望有人可以為我提供一些幫助。 也許有更好的方法可以做到這一點? 先感謝您。
將數組中的JS對象/數據作為字符串存儲在PHP中並進行打印。
<?php
// start script
$str = '<script>';
// start chart
$str .= 'var radarChartData = {';
// make labels
$str .= 'labels: [';
$delimiter = '';
foreach($chartArray as $key => $val){
$str .= $delimiter.'"'.$key.'"';
$delimiter = ', ';
}
// make dataset
$str .= '], datasets: [{';
$str .= 'label: "My First dataset", ';
$str .= 'fillColor: "rgba(220,220,220,0.2)", ';
$str .= 'strokeColor: "rgba(224,07,19,1)", ';
$str .= 'pointColor: "rgba(224,07,19,1)", ';
$str .= 'pointStrokeColor: "#fff", ';
$str .= 'pointHighlightFill: "#fff", ';
$str .= 'pointHighlightStroke: "rgba(224,07,19,1)",';
$str .= 'data: [';
$delimiter = '';
foreach($chartArray as $key => $val){
$str .= $delimiter.$val;
$delimiter = ', ';
}
$str .= ']}]};';
// end script
$str .= "</script>";
// print
print $str;
?>
<canvas id='RadarChart' class='chart' width='400px' height='400px'></canvas>
<script>
var ctx = document.getElementById('RadarChart').getContext('2d');
var polar_big5 = new Chart(ctx).Radar(radarChartData);
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.