Chartjs Array.join

1

Привет, я создаю некоторые диаграммы для мониторинга моего сервера. Я получаю данные с 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] Он не показывает никаких данных на диаграмме. Невозможно ли это сделать с помощью строки, потому что для каждой строки требуется целая строка?

  • 0
    Поскольку он не работал только с data: [obj] , столбцы пусты, когда я пытаюсь это ...
Теги:
arrays
chart.js
javascript-objects

1 ответ

1
Лучший ответ

Согласно 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
        }
    ]

}
  • 0
    Ух ты, да, ты прав, я виноват в том, что я написал data:[obj] а не просто data: obj Спасибо большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню