2015-08-26 93 views
1

沒有繪製日期我想要繪製x軸的海軍報,圖表與日期。我已經嘗試過配置xaxis,並使用javascript EPOCH,但仍然沒有成功,這是我的一段代碼。海軍報圖中X軸

<?php 
foreach($data[0] as $i => $d){  
    foreach ($d as $key => $value) { 
     $data[0][$i][$key][0] = strtotime($value[0]); 
    }  
} 

$data1 = json_encode($data[0][0]); 
$data2 = json_encode($data[0][1]); 

echo $data1; 

/* print $data1 will give this */ 
[[1367605800,"0.006"],[1367692200,"0.012"],[1367778600,"0.394"],[1367865000,"0.509"],[1367951400,"0.000"],[1368037800,"0.032"],[1368124200,"0.000"]] 

/*for checking purpose */ 
$json = json_decode($data1); 
foreach ($json as $key => $val) { 
    $readabledate = date("m-d-Y", $val[0]).'<br>'; 
    echo $readabledate; 
} 

/* after decoding 1367605800,1367692200,... i get date in readable format again thsis is what i need in xaxis 
05-05-2013 
05-06-2013 
05-07-2013 
05-08-2013 
05-09-2013 
05-10-2013 
*/ 
?> 

<script> 

$(function() { 
    /** 
    * Flot charts data and options 
    */ 
    var data1 = <?php echo $data1;?>; 
    var data2 = <?php echo $data2;?>; 

    /*checking static date values */ 
    var date = new Date(1367605800*1000); 

    alert(date); 
    //Sat May 04 2013 

    /*alert showing 1367605799.2 value 
    ends here*/ 

    var chartUsersOptions = { 
     grid: { 
      tickColor: "#f0f0f0", 
      borderWidth: 1, 
      borderColor: 'f0f0f0', 
      color: '#6a6c6f' 
     }, 

     xaxis: { 
       mode: "time", 
       timeformat: "%Y/%m/%d", 
       minTickSize: [1, "day"] 
       }, 

     colors: [ "#62cb31", "#efefef"], 
    }; 
    $.plot($("#flot-line-chart"), [data1, data2], chartUsersOptions); 
}); 
</script> 

如果我刪除從xaxisminTickSize: [1, "day"]配置它在x軸繪製1970/01/16。在哪裏我錯了,或者它是如何完成的。請建議

回答

0

我想出溶液,基本上JavaScript的歷元被乘以計算的時間與1000我已經通過拍攝靜態值所示。

var data1 = <?php echo $data1;?>; 
var data2 = <?php echo $data2;?>; 

/*checking static date values */ 
var date = new Date(1367605800*1000); 

alert(date); 
//Sat May 04 2013 

所以與整個var data1我只需要在我的PHP代碼乘$data[0][$i][$key][0] = strtotime($value[0])*1000;做到這一點。這就解決了問題。乾杯..