Відображення годин на осі y в jQuery флоті

Я склав діаграму, де покажу години на осі y. Але тепер мені потрібно перетворити час до десяткового.

2:30 буде 2,5

As it is looking now

Я знаю, що ви можете встановити ось y в режимі часу, але я не можу отримати її на роботу.

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

        },

Але як я повинен доставити години для jQuery Plot: "1:40" не працюють

Я хотів би, щоб це виглядало так, просто годинами замість хвилин

Analytics example

I have search the internet for help and the jQuery API do not explain it properly: http://flot.googlecode.com/svn/trunk/API.txt

Велике спасибі за вашу допомогу!

1

1 Відповіді

Те, що ви хочете зробити, просто підробіть його, використовуючи вісь 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,
    ..
  }
});
1
додано