在 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"
}
我使用的代码如下。 我想根据我的数据库 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"
}