Отображение часов и минут по оси х с помощью Highcharts
Я хочу вывести на диаграмме области следующие данные (время, уровень заряда батареи):
data: [
[08.15, 14.8],
[08.20, 13.9],
[08.25, 12.8],
[08.30, 11.8],
[08.35, 13.9],
[08.40, 14.1],
[08.45, 13.9],
[08.50, 14],
[08.55, 14],
[09.00, 14.1],
[09.05, 14.4]
]
ось x должна начинаться в 00:00 AM 00:00 PM, целый день.
К сожалению, я не понимаю, какие опции использовать, когда я просматриваю API.
Теперь я получаю ось x, которая идет от 8.00 ~ 8.55.8.60.8.65 ~ 9.00. Поэтому вместо десятичной системы используется десятичная система.
Как настроить, чтобы строка состояла из 24 часов с 60 минутами?
С текущими данными диаграмма будет пустой, только имея точки с 8.00 до 9.00.
Я надеюсь, что кто-то может помочь мне на моем пути.
Спасибо,
Mattijs
Ответы
Ответ 1
вы можете попробовать этот код, чтобы сделать ось x в формате 12hour
xAxis: {
title: {
enabled: true,
text: 'Hours of the Day'
},
type: 'datetime',
dateTimeLabelFormats : {
hour: '%I %p',
minute: '%I:%M %p'
}
},
Также для "подсказки" попробуйте следующее:
tooltip: {
formatter: function() {
return ''+
"" +
'Time: '+ Highcharts.dateFormat('%I:%M %p', this.x);
}
},
И, конечно же, серия будет:
series: [{
data: [
[Date.UTC(2013, 3, 22, 1, 15), 12.7],
[Date.UTC(2012, 3, 24, 3, 20), 13.5],
[Date.UTC(2012, 2, 22, 2, 25), 18.8]
]
}]
Надеюсь, он сможет решить вашу проблему. Спасибо.
Ответ 2
Highcharts имеет встроенный способ создания времени или дат в виде xaxis. Как правило, в этом случае ваши данные будут использовать значение времени в миллисекундах, а высокие диаграммы будут отображать его соответствующим образом (см. Этот пример).
Если вы хотите иметь 24-часовой день, включая ваши данные, он может выглядеть примерно так:
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
type: 'datetime' //ensures that xAxis is treated as datetime values
},
series: [{
data: [
[Date.UTC(2012, 5, 22, 8, 15), 14.8],
[Date.UTC(2012, 5, 22, 8, 20), 13.9],
[Date.UTC(2012, 5, 22, 8, 25), 12.8]
//and so on...
]
}]
});
Затем вы можете сделать что-то вроде пользовательского форматирования xAxis или date formatatter, чтобы отобразить метки, как вам нужно.