Отображение часов по оси Y в jQuery flot - PullRequest
1 голос
/ 28 октября 2011

Я сделал график, где я показываю часы по оси Y. Но теперь мне нужно преобразовать время в десятичное число.

2: 30 будет 2,5

As it is looking now

Я знаю, что вы можете установить ось Y в режим времени, но я не могу заставить его работать:

        yaxis: {
            mode: "time",
            timeformat: "%H:%M"

        },

Но как мне доставить часы на jQuery Plot: «1:40» не работает

Я бы хотел, чтобы это выглядело всего за несколько часов, а не минут

Analytics example

Мне нужна помощь в поиске в Интернете, и jQuery API не объясняет это должным образом http://flot.googlecode.com/svn/trunk/API.txt

Большое спасибо за помощь!

1 Ответ

1 голос
/ 30 октября 2011

То, что вы хотите сделать, это просто подделать его, используя ось tickFormatter. Режим «время» действительно должен называться чем-то вроде режима «дата», потому что речь идет о датах, а не о временах. Время действительно случайное. Поэтому, если вы уже выполняете работу по преобразованию времени в десятичное число, просто используйте функцию javascript, чтобы преобразовать их обратно в нужный вам формат:

function timeTickFormatter(val,axis) {
  var hours = Math.floor(val);
  var minutes = (val - hours) * 60;

  return hours+":"+minutes;
}

Очевидно, что это не охватывает все перестановки (т. Е. Ведущие нули, если вы хотите их), но это идея. Если вы не знаете, как поместить это во флот, это похоже на параметры вашего графика:

$.plot(placeholder, data, {
  ..,
  yaxis: {
    ..,
    tickFormatter:timeTickFormatter,
    ..
  }
});
...