【问题标题】:Date can't show Using Postgre's Row Date to show JqPlot Date AxesDate can't show Using Postgre's Row Date to show JqPlot Date Axes
【发布时间】:2017-01-13 02:19:37
【问题描述】:

所以我有这个来自sails.js 的模型

var sql = 'SELECT TO_DATE(CAST(LAST_UPDATE AS TEXT),\'YYYY-MM-DD\') AS VIEW_DATE, COUNT(STATISTIK_ID) AS VIEW_COUNT \
    FROM STATISTIK \
    GROUP BY VIEW_DATE \
    ORDER BY VIEW_DATE ASC';

    sails.log.debug('Query : ' + sql);

    AdsStatistics.query(sql, function(err, data){
        if(err){
            response({"status": "ERR", "message": err['message']});
        }
        else{
            console.log(data.rows);
            response({"status": "OK", "message": "", "data": data.rows});
        }
    });

这个 javascript 在 vi​​ew.ejs

var data = response.data;
var iLen = data.length;
var lineData = [];
var line1=[];
var tempDate = new Date();
for (var i = 0; i < iLen; i++){
    tempDate = data[i].view_date;
    lineData[i] = "'"+ tempDate.substring(0,10) + "'," + data[i].view_count;
}
line1 = [lineData];
alert(line1); //just to check the data i parsed
console.log(line1); //just to check the data i parsed
var plot2 = $.jqplot('chart1', [line1] , {
            title:'Views Statistics',
            axes: {
            xaxis: {
                label: 'Date',
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                renderer: $.jqplot.DateAxisRenderer,
                tickOptions: {formatString:'%#d %b %Y'}
            },
            yaxis:{
                label: 'Views',
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer
            }
        },
        series:[{lineWidth:2, markerOptions:{style:'filledCircle'}}]
    });

我已经有了解析的数据,这是来自控制台日志:

console log cmd

这来自网络控制台:

web console

但为什么我仍然没有得到正确的图表?而且我似乎 jqplot 无法识别我在 xaxis 上的日期。请帮助我做错了什么?

【问题讨论】:

    标签: javascript jquery postgresql sails.js jqplot


    【解决方案1】:

    我发现我只需要为图形轴数据创建一个二维数组。所以我像这样编辑了我的 javascript 代码,它运行良好:

    var data = response.data;
    var iLen = data.length;
    var lineData = [];
        for (var i = 0; i < iLen; i++) {
            lineData[i] = [];
            for(var j = 0; j < 2; j++) {
                if(j == 0)
                    lineData[i][j] = data[i].view_date.substring(0,10);
                else
                    lineData[i][j] = parseInt(data[i].view_count);
            }
        }
        var plot2 = $.jqplot('chart1', [lineData] , {
            title:'Views Statistics',
            axes: {
                xaxis: {
                label: 'Date',
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
                renderer: $.jqplot.DateAxisRenderer,
                tickOptions: {formatString:'%#d %b %Y'}
            },
            yaxis:{
                label: 'Views',
                labelRenderer: $.jqplot.CanvasAxisLabelRenderer
            }
        },        series:[{lineWidth:2, markerOptions:{style:'filledCircle'}}]
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 2022-12-02
      • 1970-01-01
      • 2013-09-18
      • 2021-09-07
      • 2022-12-01
      • 2020-07-21
      相关资源
      最近更新 更多