$scope.mData = $firebaseArray(aRef.orderByChild('ts').startAt('2018-07-02').limitToLast(31));
$scope.mData.$loaded().then(function () {
$scope.chartSeriesYArray03 = [];
$scope.chartSeriesXArray03 = [];
$scope.chartSeries = [];
angular.forEach($scope.mData, function (value) {
$scope.chartSeriesXArray03.push(moment(value.ts).format('MMMM Do YYYY, h:mm:ss'));
$scope.chartSeriesYArray03.push(parseFloat(value.ein));
$scope.chartSeries.push([
Date.parse(value.ts), parseFloat(value.ein)
//moment(value.ts).format('MMMM Do YYYY, h:mm:ss'), parseFloat(value.ein)
]);
});
Highcharts.setOptions({
global: {
useUTC: false
}
});
var chart003 = Highcharts.chart('chart03', {
chart: {
type: 'column'
},
title: {
text: 'Half Hourly Energy Consumption'
},
yAxis: {
min: 0,
title: {
text: 'Energy (kwh)'
}
},
series: [{
name: 'Meter01',
data: $scope.chartSeries,
crosshair: true
}]
});
$scope.mData.$watch(function (cb) {
if(cb.event == 'child_added') {
angular.forEach($scope.mData, function (value) {
if(value.$id === cb.key) {
chart003.series[0].addPoint([
Date.parse(value.ts),
//moment(value.ts).format('MMMM Do YYYY, h:mm:ss'),
parseFloat(value.ein)
], true, true);
console.log('test7', moment(value.ts).format('MMMM Do YYYY, h:mm:ss'), parseFloat(value.ein));
}
});
}
});
});
На рисунке показано, как получается график
![enter image description here](https://i.stack.imgur.com/YInaR.png)
Итак, чего я хотел добиться, так это отображать динамические данные из базы данных с использованием высоких графиков. Мне удалось протолкнуть текущие данные, но я столкнулся с ошибкой отсутствия значений по оси X, которые я также вставил в код. Я следовал этому Как сообщить Highcharts, чтобы установить дату на оси X, и использовать диапазон времени (например, 1 день) и мне удалось отобразить дату в миллисекундах. Однако теперь я не могу поместить значение ниже каждого гистограммы, и дата появляется только с интервалами, как показано на рисунке. Как я могу идти о
1) размещение всех дат каждой панели данных прямо под панелью
2) убедитесь, что гистограмма расположена равномерно, несмотря на неравномерность времени публикации
3) преобразовать дату в формат ДД ММ ГГГГ после ее передачи через Date.parse ()
Спасибо! Любая помощь приветствуется:)