Привет, я создаю некоторые диаграммы для мониторинга моего сервера. Я получаю данные с Php и передаю его как массив в javasccript:
<script>
var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
var obj = JSON.parse('<?php echo json_encode($names) ?>');
var datenbarchart = obj.join(",");
var obj1 = JSON.parse('<?php echo json_encode($nameserver) ?>');
var barChartData = {
labels : [ obj1[0], obj1[1], obj1[2], obj1[3], obj1[4], obj1[5], obj1[6]],
datasets : [
{
fillColor: "rgba(151,187,205,0.5)",
strokeColor: "rgba(151,187,205,0.8)",
highlightFill: "rgba(151,187,205,0.75)",
highlightStroke: "rgba(151,187,205,1)",
data : [datenbarchart]
}
]
}
window.onload = function(){
var ctx = document.getElementById("canvas").getContext("2d");
window.myBar = new Chart(ctx).Bar(barChartData, {
responsive : true
});
}
</script>
Проблема состоит в том, что я пытаюсь отделить первый массив с методом join, чтобы получить строку, разделенную ","
:
var datenbarchart = obj.join(",");
Когда я передаю это данные Chartjs, где обычно данные выглядят так: data: [60,50,40,50]
Он не показывает никаких данных на диаграмме. Невозможно ли это сделать с помощью строки, потому что для каждой строки требуется целая строка?
Согласно http://www.chartjs.org/docs/, поле данных - это массив, поэтому ваш синтаксис должен быть:
var datenbarchart = obj;
...
var barChartData = {
labels : [ obj1[0], obj1[1], obj1[2], obj1[3], obj1[4], obj1[5], obj1[6]],
datasets : [
{
fillColor: "rgba(151,187,205,0.5)",
strokeColor: "rgba(151,187,205,0.8)",
highlightFill: "rgba(151,187,205,0.75)",
highlightStroke: "rgba(151,187,205,1)",
data : datenbarchart
}
]
}
data:[obj]
а не просто data: obj
Спасибо большое!
data: [obj]
, столбцы пусты, когда я пытаюсь это ...