2015-08-26 3 views
1

Я пытаюсь построить xaxis в флот-диаграмме с датой. Я попытался с настройкой xaxis, а также с помощью javascript EPOCH, но все равно не успел, вот мой кусок кода.флот диаграмма не дата построения в xaxis

<?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> 

если я удалить minTickSize: [1, "day"] из xaxis конфиг его построения 1970/01/16 в Xaxis. где я ошибаюсь или как это можно сделать. пожалуйста, предложите

ответ

0

Я понял решение, в основном javascript epoch вычисляет время, умножая его на 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 я просто нужно умножить $data[0][$i][$key][0] = strtotime($value[0])*1000; в моем PHP-код. это проблема решена. Cheers ..

Смежные вопросы