Я пытаюсь создать гистограмму с использованием диаграммы. js javascript библиотека. В настоящее время у меня есть массив в javascript, который содержит следующее:
0: {labels: "01/01/2020 00:00:00", data: 7433, category: "A"}
1: {labels: "01/01/2020 00:00:00", data: 774, category: "B"}
2: {labels: "01/01/2020 00:00:00", data: 5993, category: "C"}
3: {labels: "30/01/2020 00:00:00", data: 7624, category: "A"}
4: {labels: "30/01/2020 00:00:00", data: 900, category: "B"}
5: {labels: "30/01/2020 00:00:00", data: 5865, category: "C"}
6: {labels: "18/02/2020 00:00:00", data: 7161, category: "A"}
7: {labels: "18/02/2020 00:00:00", data: 1005, category: "B"}
8: {labels: "18/02/2020 00:00:00", data: 5940, category: "C"}
Ниже приведен запрос AJAX для помещения данных в массив, и теперь мне нужно динамически установить данные для вывода стека chart
// STACK BAR CHART
var stackBarData = [];
var stackBarLabels = [];
$.ajax({
type: "POST",
async: false,
url: "ExecView.aspx/ReturnStackBarData",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var stackbarDatas = data.d;
stackBarData = new Array(stackbarDatas.length);
console.log(stackBarData);
for (i = 0; i < stackbarDatas.length; i++) {
stackBarData[i] = { labels: stackbarDatas[i].label, data: stackbarDatas[i].data, category: stackbarDatas[i].category };
}
console.log(stackBarData); // ARRAY OUTPUT ABOVE
}
});
var BarpopData = {
datasets: [{
data: stackBarData
}],
};
Я ожидаю, что все данные в массиве с 01/01/20 будут моей первой меткой на оси X, а категория A будет самым низким стеком с данными 7433. Затем я ожидаю категорию B будет средний стек с данными 774. Затем я ожидаю, что категория C будет самым высоким стеком с данными 5933. Я ожидаю, что еще один стек будет с датой 30/01/2020.
Мне нужно, чтобы это было Dynami c смотрит на массив, поскольку данные всегда меняются.
Как я могу динамически это сделать - чтобы обеспечить минимальную и максимальную ось Y автоматически, а значит, показывает хороший столбчатый график?
I есть JS Fiddle: https://jsfiddle.net/1eq8w0Lx/ того, что я ожидаю, что результат будет выглядеть. Мне нужно, чтобы жестко закодированные значения были динамическими c из моего массива. Как мне добиться этого результата?