flot показва датата във 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 timestamp проследява времето като текуща сума от секунди, започвайки от 1 януари 1970 г. Докато javascript timestamp измерва милисекунди. Така че просто умножете по 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