Привет, ребята, мне нужна ваша помощь. Я использую Highcharts-NG
для создания своих диаграмм, но у меня есть одна небольшая проблема. У меня есть график работы, я нажимаю текущие данные на свой график, и он работает очень хорошо, но вместо X значений "1", "2", "3" каждый раз, когда я вставляю одну точку в серию, я хочу вставить временную метку по оси х. В нормальных высоких диаграммах легко сделать с функцией addPoint()
, но с highcharts-ng
меня нет этой функции. Может кто-нибудь, пожалуйста, помогите мне, пожалуйста?
Вот мой рабочий файл: http://jsfiddle.net/zrKEb/
Вот мое решение для использования функции addPoint с директивой highcharts-ng:
$scope.chart_realtimeForceConfig = {
options: {
chart: {
type: 'line',
},
xAxis: {
type: 'datetime' ,
labels: {
format: '{value:%H:%M:%S %Y}'
}
},
},
series: [{
name: 'Fx',
data: [],
}, ],
func: function(chart) {
$timeout(function() {
chart.reflow();
}, 300);
$interval(function() {
var shift = chart.series[0].data.length > 100;
chart.series[0].addPoint([Date.now(),Math.floor(Math.random() * 100) + 1], true, shift, false);
}, 1000);
},
loading: false
}
});
Формат даты выполнен на графике
После много обходного решения я нашел одно решение, но я не знаю, является ли это лучшим способом делать то, что я хочу.
$scope.highchartsNG.xAxis.categories.push($filter('date')(new Date(), "mediumTime"));
Это приведет к тому, что значение временной метки теперь будет присвоено значению Xaxis и будет фильтровать его. Конечным результатом будет значение в формате "h: mm: ss a" Если у кого-нибудь есть другое решение, ответьте на мой вопрос.