Использование дат в отображении jQuery Flot - PullRequest
16 голосов
/ 25 августа 2010

Я пытаюсь использовать Flot для построения графика с датами.Я следовал совету по этой строке: здесь , но, похоже, он мне не подходит.Вот мой модифицированный JavaScript (из этого другого вопроса):

$(document).ready(function () {

    var d1 = [[1262818800,100],[1262732400,100],[1262646000,100]]; 

    var d2 = [[1262818800,23],[1262732400,23],[1262646000,23]];

    $.plot($("#placeholder"), [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show: true},label:"Valley"}],{yaxis: {label:"cm"}},
    {xaxis: 
      {mode:"time",
      timeformat: "%M:%S"
 }
    });

});

Я получаю график, но он не конвертирует ось X в даты, а значения на оси X недаже в соответствии с тем, что у меня есть в переменных данных.Я даже пытался умножить каждую точку данных на 1000, чтобы преобразовать метки времени в Javascript, но это тоже не помогло.Я также попробовал следующие переменные формата времени, в случае, если это было проблемой:

"%M:%S", "%H:%S", "%y,%m,%d"

Но не повезло.Есть идеи?

1 Ответ

26 голосов
/ 25 августа 2010

Вы должны умножить на 1000 и использовать:

xaxis: {
      mode: "time"
  }

Я проверял этот способ.Я могу опубликовать полный код, если вам нужно.

Это небольшой итальянский пост об использовании flot для измерения роста и веса моего ребенка:

Код проекта можно загрузить с здесь .

Разархивировать его и открыть файл peso_giulia.html .Здесь вы можете найти серию d3.

Вы можете заменить строку

,[(new Date("2009/12/29")).getTime(),67]

версией метки времени

,[(1282688250 * 1000), 100]
...