【发布时间】:2012-03-12 16:47:50
【问题描述】:
您好,我需要创建一个流动图。为此我正在使用这个插件http://people.iola.dk/olau/flot/API.txt。
我需要在 x 轴上显示时间 (h:m) 并在 y 轴上计数。为此,我编写了这种脚本。但它不起作用。任何人都可以帮助我。
var运行=假; 变量数组; 变量 xscale = 10;
//this function does the plotting function draw() { var timearr = getTimeArray(); this.array=timearr; var sTime =""; var oDate = new Date(); var sTimestamp =""; var exparr = ""; for (var l = 0; l < 10; l++) { sTime = this.array[l][1]; oDate.setUTCHours( parseInt(sTime.substr(0, 2), 10), parseInt(sTime.substr(3, 2), 10), 0, 0 ); sTimestamp = oDate.getTime(); this.array[l]=[parseInt(l),parseInt(sTimestamp)]; } $.plot( $("#graphdiv"),[ { label: "Logged In", data: this.array, lines: { show: true, fill: true, fillColor: "rgba(249, 28, 61,0.3)",lineWidth: 2.5 }, //color:"rgba(249, 28, 61, 1)" color:0 } ], { xaxis: { ticks: getTimeArray(1), mode: "time", timeformat: "%H:%M" }, yaxis: { ticks: [0 , 1, 2, 3,4,5, 6,7,8,9,10], min: 0, tickDecimals: 0 }, grid: { show: true, color: '#474747', tickColor: '#474747', borderWidth: 2, autoHighlight: true, mouseActiveRadius: 2 } }); } function getTimeArray(flg) { array = []; var d = new Date(); var hour=''; var minute=''; var timeString =''; for (var i = 9; i >= 0; i--){ if(i<9)d = new Date( d.getTime() - 5*60*1000 ); hour = d.getHours(); minute = d.getMinutes(); if (hour > 12) { hour = hour - 12; } if (hour == 0) { hour = 12; } if (hour < 10) { hour = "0" + hour; } if (minute < 10) { minute = "0" + minute; } timeString = hour + ':' + minute; if(timeString!=undefined){ array[i]=[i,timeString]; } } return array; } function initialize() { this.array = new Array(); for (var i = 0; i < xscale; i++) { this.array[i] = [i, 0.0]; } } function refreshStat() { if (!running) { running = true; draw(); running = false; } } $(document).ready(function () { initialize(); refreshStat(); setInterval("refreshStat()", 10); });
【问题讨论】:
标签: javascript jquery graph flot linegraph