2015-08-26 95 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;做到这一点。这就解决了问题。干杯..