我正在尝试将数据集绘制到chartJS折线图中:

这是我的数据:

[{"close":0.00786609},{"close":0.00784},{"close":0.00784},
 {"close":0.00780507},{"close":0.007816},{"close":0.00781599},
 {"close":0.00780166},{"close":0.00778403},{"close":0.00782001},
 {"close":0.0078},{"close":0.00778},{"close":0.007799},
 {"close":0.00775057},{"close":0.0077688},{"close":0.00775001}]


这是我的代码:

var ctx = document.getElementById('myChart').getContext('2d');
var chart = new Chart(ctx, {
    // The type of chart we want to create
    type: 'line',

    // The data for our dataset
    data: {

        datasets: [{
            label: "My First dataset",
            backgroundColor: 'rgb(255, 99, 132)',
            borderColor: 'rgb(255, 99, 132)',
            data: <%= JSON.stringify(prices) %>,
        }]
    },

    // Configuration options go here
    options: {}
});


我怎样才能解决这个问题?

最佳答案

您已将图表配置为“线”类型。此类型的documentation指定数据集的data可以是数字数组或点数组,其中,点是具有x属性和y属性的对象。

您的data是JSON字符串化的对象数组,每个对象都有一个close属性。

您需要将prices数组映射为数字数组。在JavaScript中,可以这样完成:

prices.map(function (price) {
    return price.close;
});


我创建了一个fiddle作为示例。

09-15 22:44