web-dev-qa-db-ja.com

Chart.js-複数のラベルを持つ棒グラフを描画します

複数のラベルを使用するchart.jsで棒グラフを描画し、それらを操作できるようにしています。私は折れ線グラフを使ってなんとかして、そこでやったことを運なしで拡張しようとしました。このエラーが発生しています。何が原因ですか?

「キャッチされなかったTypeError:非オブジェクトで呼び出されたObject.defineProperty」。

問題はデータのどこかにあります:{}単純な2インデックス配列としてデータがあったとき、それはうまく機能していたためです。

編集:データセットをステップスルーするとき= null;

        var com_passed = rows[rows.length-2]["# Common Passed"];
        var com_failed = rows[rows.length-2]["# Common Failed"];
        var ctx = document.getElementById("common_chart");
        ctx.height = 50;

        var historicalChart = new Chart(ctx, {
            type: 'bar',
            data: {
                labels: ["Passed", "Failed"],
                datasets: [
                { 
                    data: com_passed,
                    label: "Passed",
                    fillColor: "red"
                },
                { 
                    data: com_failed,
                    label: "Failed",
                    fillColor: "green"                      
                }
                    ]
            },
                options: {
                    scales: {
                        yAxes: [{
                            ticks: {
                            beginAtZero:true,
                            responsive: false,
                            maintainAspectRatio: true
                            }
                        }]
                    }
                }
        });
7
sf8193

同様の問題を抱えている人のために。データを整数の代わりに配列としてcom_passedおよびcom_failedにする必要がありました。

    var com_passed = rows[rows.length-2]["# Common Passed"];
    var com_failed = rows[rows.length-2]["# Common Failed"];
    var ctx = document.getElementById("common_chart");
    ctx.height = 50;

    var historicalChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ["Passed", "Failed"],
            datasets: [
            { 
                data: [com_passed],
                label: "Passed",
                fillColor: "red"
            },
            { 
                data: [com_failed],
                label: "Failed",
                fillColor: "green"                      
            }
                ]
        },
            options: {
                scales: {
                    yAxes: [{
                        ticks: {
                        beginAtZero:true,
                        responsive: false,
                        maintainAspectRatio: true
                        }
                    }]
                }
            }
    });
7
sf8193