在时间戳中显示Flot中的日期

时间:2011-07-03 11:45:56

标签: php jquery mysql flot

我试图让我的图表在x轴上显示日期而不是时间戳。我已经搜索并阅读了其他帖子,仍然无法让它变得更好。这是我的代码:

for($i = 0; $i < 3; $i++)
{
    $j = $i + 1;
    $query = "SELECT UNIX_TIMESTAMP(date_added)*1000, COUNT(id)
                    FROM likes
                    WHERE date_added BETWEEN
                        DATE_SUB(CURDATE(), INTERVAL $j MONTH)
                        AND DATE_SUB(CURDATE(), INTERVAL $i MONTH)";
    $result = mysql_query($query);
    echo mysql_error();
    $date = mysql_result($result, 0, 0);
    $count = mysql_result($result, 0, 1);
    $pair = array( (string)$date, (int)$count );
    array_push($data_series1, $pair);
}

    $.ajax({
    url: 'graph_likes.php?get_data=month',
    dataType: 'json',
    success: function(returned) {
        $.plot($('#container'), 
        [{
            data: returned,
            points:
            {
                show: true
            },
            lines:
            {
                show: true
            },
            color: '#00d6e2',
            xaxis:
            {
                mode: 'time'
            }
        }]);
    }
});

1 个答案:

答案 0 :(得分:3)

如果您希望flot显示格式良好的时间戳,您可以尝试使用timestamp格式选项(称为timeformat):

        ...
        xaxis:
        {
            mode: 'time',
            timeformat: "%y/%m/%d"
        }
        ...

您可以找到本文档中说明的选项:http://people.iola.dk/olau/flot/API.txt,查找名为时间序列数据的部分。