В настоящее время я борюсь с представлением некоторых данных, которые включают в себя значение для даты.
данные приходят с php — для тестирования я записал эти значения в javascript var / array.
var allmydata = [
['x1', "2018-01-15 00:08:00", "2018-01-15 01:08:00", "2018-01-15 02:08:00", "2018-01-15 03:08:00", "2018-01-15 04:08:00", "2018-01-15 05:08:00"],
['x2', "2018-01-15 00:08:00", "2018-01-15 01:08:00", "2018-01-15 02:08:00", "2018-01-15 03:08:00", "2018-01-15 04:08:00", "2018-01-15 05:08:00"],
['xn', "2018-01-15 00:08:00", "2018-01-15 01:08:00", "2018-01-15 02:08:00", "2018-01-15 03:08:00", "2018-01-15 04:08:00", "2018-01-15 05:08:00"],
['data1', 10, 40, 20, 30, 140, 110],
['data2', 20, 10, 50, 10, 240],
['datan', 10, 10, 40, 280, 260]
];
для рисования графика с помощью c3.js используется этот фрагмент кода, который работает, пока я не использую значение datetime x.
то есть это работает (найдено в stackoverflow mgraham):
var allmydata = [
['x1', 10, 30, 45, 50, 70, 100],
['x2', 30, 50, 75, 100, 120],
['xn', 45, 60, 80, 120, 130],
['data1', 30, 200, 100, 400, 150, 250],
['data2', 20, 180, 240, 100, 190],
['datan', 10, 150, 220, 160, 300]
];
var match = function (dataStr) {
return dataStr.startsWith("data") ? dataStr.replace ("data", "x") : undefined;
};
var xs = {};
allmydata.forEach (function (series) {
var seriesName = series[0];
var xsName = match (seriesName);
if (xsName) {
xs[seriesName] = xsName;
}
});
var chart = c3.generate({
data: {
xs: xs,
columns: allmydata
}
});
http://jsfiddle.net/0f38ffsy/1/
Я хотел бы добиться того же, но мне нужна дата на оси X.
Задача ещё не решена.
Других решений пока нет …