views:

854

answers:

3

Does anyone know how to display the date in flot based on timestamp

<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>
+1  A: 

I guess all you need to do is to multiply the timestamp (which look like unix timestamps) by 1000.

Unix timestamp tracks time as a running total of seconds starting from January 1st, 1970. While javascript timestamps measure milliseconds. So just multiply by 1000 and you should be fine

jitter
A: 

It produces series like these, but still no dates.

var d1 = [

[1262905200000,115],[1262818800000,115],[1262732400000,115],[1262646000000,122],[1262559600000,135],[1262473200000,135],[1262386800000,138],[1262300400000,140],[1262214000000,145],[1262127600000,142],[1262041200000,130],[1261954800000,123];

var d2 = [ [1262905200000,60],[1262818800000,60],[1262732400000,60],[1262646000000,55],[1262559600000,50],[1262473200000,50],[1262386800000,52],[1262300400000,49],[1262214000000,58],[1262127600000,58],[1262041200000,63],[1261954800000,67];

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

mark
+3  A: 

Try defining the 'timeformat' attribute, and define the pattern that flot will use to format the millisecond value.

xaxis:{
    mode: "time",
    timeformat: "%M:%S"
},
emeraldjava