在 x 轴 usig flot 图中添加日期

Adding date in the x-axis usig flot graph

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

[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 应用程序的视图。

查看时间序列数据的documentation

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

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

那么您的数据应该如下所示:

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

对于 x 轴上的标签,使用 timeformat 选项取回您想要的格式:

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