Flot отображает дату во флоте на основе метки времени

Кто-нибудь знает, как отображать дату во флоте на основе метки времени

<script id="source" language="javascript" type="text/javascript">
$(function () {

var d1 = [
[1262818800,100],[1262732400,100],[1262646000,100],[1262559600,100],[1262473200,100],[1262386800,100],[1262300400,100],[1262214000,100],[1262127600,100],[1262041200,100],[1261954800,100],[1261868400,100],[1261782000,100],[1261695600,100],[1261609200,100],[1261522800,95],[1261436400,110],[1261350000,110],[1261263600,110],[1261177200,100];

var d2 = [
[1262818800,23],[1262732400,23],[1262646000,23],[1262559600,23],[1262473200,23],[1262386800,23],[1262300400,25],[1262214000,25],[1262127600,25],[1262041200,25],[1261954800,25],[1261868400,25],[1261782000,25],[1261695600,25],[1261609200,25],[1261522800,25],[1261436400,10],[1261350000,10],[1261263600,10],[1261177200,10]

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

});
</script>

person Mark Henry    schedule 07.01.2010    source источник
comment
Привет, Марк, ты решил эту проблему? У меня такая же проблема.   -  person Milan Novota    schedule 13.03.2010
comment
за то, что показал мне правильный формат данных   -  person victorf    schedule 21.05.2019


Ответы (4)


Я думаю, все, что вам нужно сделать, это умножить метку времени (которая выглядит как метка времени unix) на 1000.

Временная метка Unix отслеживает время как общее количество секунд, начиная с 1 января 1970 года. В то время как временные метки javascript измеряют миллисекунды. Так что просто умножьте на 1000 и все будет хорошо

person jitter    schedule 07.01.2010
comment
Вы должны принять это, это правильный ответ. После того, как вы умножили на 1000, вам также может понадобиться вычесть ваше время относительно UTC, например, EST - 18000. Таким образом, чтобы получить правильное время, для меня это будет; (отметка времени * 1000) - 18000 - person mr-sk; 15.12.2012

Попробуйте определить атрибут 'timeformat' и определите шаблон, который flot будет использовать для форматирования значения миллисекунды.

xaxis:{
    mode: "time",
    timeformat: "%M:%S"
},
person emeraldjava    schedule 10.01.2010
comment
Вы нужны мне для некоторых задач jquery, если вы заинтересованы. - person seoppc; 22.06.2014

Я использую это:

    var options = {
    lines: { show: true },
    points: { show: true },
    xaxis: { mode: "time",  timeformat: "%m/%d/%y",   minTickSize: [1, "day"]}
};
person Shun Takeda    schedule 30.04.2012

Я только что столкнулся с этим, и я думаю, что мы оба использовали один и тот же плохой пример Flot. Подпись:

var plot = $.plot(placeholder, data, options)

И ваш код делает что-то вроде

var plot = $.plot(placeholder, data, xoptions, yoptions)

Поэтому, чтобы исправить это, просто сделайте это:

$.plot(
    $("#placeholder"), 
    [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show:true},label:"Valley"}],
    {yaxis: {label:"cm"}, xaxis: {mode:"time"}}
);
person Ed Norris    schedule 13.09.2012