使用绘图图在x轴上添加日期

时间:2015-03-31 11:53:18

标签: javascript html codeigniter graph flot

我正在使用的代码如下。 我想根据数据库表中的数据制作一个简单的图表。 它现在正在工作,但我希望底轴上的日期不正确。 而变量的值是

[25-03-15, 1236], [26-03-15, 3000], [27-03-15, 3054], [30-03-15, 4000]

这是对的。但我不能在x轴上得到这个日期。有解决方案吗? 我得到这个值的方式是

<?php 
$usd=$this->db->query('select transaction_date, SUM(amount) as total from transactions GROUP BY transaction_date')->result_array();
$str = '';
for($i=0; $i<count($usd); $i++){
    if($i!=0){
        $str = $str.', ['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
    }else{
        $str = $str.'['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
    }
}

echo $str;


?>

然后我在java脚本中传递这样的数据:

var graphData = [{

        data: [ <?php echo $str; ?>]
    }
];

但最后我无法在x轴上得到日期。

PS: 我正在研究codeigniter应用程序的视图。

1 个答案:

答案 0 :(得分:0)

查看documentation的时间序列数据。

您需要javascript时间戳。在PHP中,您只需使用

即可获得它们
strtotime($usd[$i]["transaction_date"]) * 1000

然后您的数据应如下所示:

[1427238000000, 1236], [1427324400000, 3000], ...

对于x轴上的标签,请使用timeformat选项获取所需的格式:

xaxis: {
    mode: "time",
    timeformat: "%d-%m-%y"
}