Flot Chart - 作为具有多个属性的对象数组的图形数据

Flot Chart - Graphic data as an object array with multiple attributes

我想要一个数组对象而不是下面的 json 格式;

[1409558400000, 7.45],[1409562000000, 5.71], [1409565600000, 7.50], 
 ... .;  

我的目的是根据 hh:mm 参数(已经在 link 中完成)在图表上显示所有数据,我最终得到了这样的 json 数组; [10, 7.45],[09, 5.71], [11, 7.50], ...

但我也想保留他们的时间戳,以便获得有关每个数据点的更多信息,以便我可以在用户单击某个点时提供时间戳。

我只需要有这样的东西 [10, 7.45,1409562000000] ;小时值、年龄和时间戳。

我怎样才能得到这样的图表数据数组?

var d = [
    [1409558400000, 7.45],
    [1409562000000, 5.71],
    [1409565600000, 7.50],
    [1409569200000, 7.63],
    [1409576400000, 3.14],

    [1409644800000, 7.45],
    [1409648400000, 5.71],
    [1409652000000, 7.50],
    [1409655600000, 7.63],
    [1409662800000, 3.14],

    [1409731200000, 7.45],
    [1409734800000, 5.71],
    [1409738400000, 7.50],
    [1409742000000, 7.63],
    [1409749200000, 3.14]
];

    $.each(d, function (index, datapoint) {
        datapoint[0] = (new Date(datapoint[0])).getHours();
    });

$.plot("#placeholder", [d], {
    series: {
        lines: {
            show: true
        },
        points: {
            show: true
        }
    },
    grid: {
        hoverable: true,
        clickable: true,
        markings: [{
            yaxis: {
                from: 0,
                to: 4
            },
            color: "#F2CDEA"
        }, {
            yaxis: {
                from: 4,
                to: 7
            },
            color: "#D7EEE1"
        }, {
            yaxis: {
                from: 7,
                to: 12
            },
            color: "#F2CDEA"
        }]
    },
    xaxis: {

    },
    yaxis: {
        min: 0,
        max: 12
    }
});




$("#placeholder").bind("plotclick", function(event, pos, item) {
                var x = item.datapoint[0].toFixed(2),
                    y = item.datapoint[1].toFixed(2);
    

                if (item) {
                    //window.location="pagex.html"; 
                    alert("x: " + x);

                    //plot.highlight(item.series, item.datapoint);
                }
            });
<!-- basic time series flot chart -->
<h>Create a custom green range</h>
<div style="height: 400px; width: 600px;" id="placeholder"></div>

http://jsfiddle.net/shamaleyte/wzLaqzf5/1/

基本上,我会根据我的情况调整以下 link 中给出的答案。

   Link for Referenced answer 

Link : displaying custom tooltip when hovering over a point in flot

我的代码:

var data = [
    [1409558400000, 7.45],
    [1409562000033, 5.71],
];
    $.each(data, function (index, datapoint) {
        datapoint[2] = datapoint[0]; // copy the timestamp and paste it as the 3rd object

        datapoint[0] = (new Date(datapoint[0])).getHours(); // to put hours on y axis
    });

$.plot("#placeholder", [d2], {
    series: {
        lines: {
            show: true
        },
        points: {
            show: true
        }
    },
    grid: {
        hoverable: true,
        clickable: true,
        markings: [{
            yaxis: {
                from: 0,
                to: 4
            },
            color: "#F2CDEA"
        }, {
            yaxis: {
                from: 4,
                to: 7
            },
            color: "#D7EEE1"
        }, {
            yaxis: {
                from: 7,
                to: 12
            },
            color: "#F2CDEA"
        }]
    },
    xaxis: {

    },
    yaxis: {
        min: 0,
        max: 12
    }
});




$("#placeholder").bind("plotclick", function(event, pos, item) {
                var x = item.datapoint[0].toFixed(2),
                    y = item.datapoint[1].toFixed(2);

               var tooltip = item.series.data[item.dataIndex][2];

                if (item) {
                    //window.location="pagex.html"; 
                    alert("x: " + tooltip);

                    //plot.highlight(item.series, item.datapoint);
                }
            });

我的 Fiddle : http://jsfiddle.net/shamaleyte/wzLaqzf5/2/