X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph-combined.js;h=cd7fdb71147d88c12ac4c0ec0f8799ba3edbd02c;hb=333f47004502543d0f1e511102a6114e40d68e78;hp=8fd362c3a09b7968bf9f1cc993f2cb0c45bcd0e6;hpb=36615faf46e6d8ace2cc90a176be32f189387838;p=dygraphs.git diff --git a/dygraph-combined.js b/dygraph-combined.js index 8fd362c..cd7fdb7 100644 --- a/dygraph-combined.js +++ b/dygraph-combined.js @@ -4649,8 +4649,6 @@ this.options.drawBackground=false; }; DateGraphCanvasRenderer.prototype=new PlotKit.CanvasRenderer(); DateGraphCanvasRenderer.prototype.render=function(){ -this._renderLineChart(); -this._renderLineAxis(); var ctx=this.element.getContext("2d"); if(this.options.drawYGrid){ var _14=this.layout.yticks; @@ -4682,6 +4680,8 @@ ctx.closePath(); ctx.stroke(); } } +this._renderLineChart(); +this._renderLineAxis(); }; DateGraphCanvasRenderer.prototype._renderLineChart=function(){ var _17=this.element.getContext("2d"); @@ -4783,6 +4783,7 @@ DateGraph.DEFAULT_WIDTH=480; DateGraph.DEFAULT_HEIGHT=320; DateGraph.DEFAULT_STROKE_WIDTH=1; DateGraph.AXIS_LINE_WIDTH=0.3; +DateGraph.DEFAULT_ATTRS={highlightCircleSize:3,pixelsPerXLabel:60,pixelsPerYLabel:30,labelsDivWidth:250,labelsDivStyles:{}}; DateGraph.prototype.__init__=function(div,_52,_53,_54){ this.maindiv_=div; this.labels_=_53; @@ -4799,14 +4800,15 @@ this.valueRange_=_54.valueRange||null; this.labelsSeparateLines=_54.labelsSeparateLines||false; this.labelsDiv_=_54.labelsDiv||null; this.labelsKMB_=_54.labelsKMB||false; -this.minTickSize_=_54.minTickSize||0; this.xValueParser_=_54.xValueParser||DateGraph.prototype.dateParser; this.xValueFormatter_=_54.xValueFormatter||DateGraph.prototype.dateString_; this.xTicker_=_54.xTicker||DateGraph.prototype.dateTicker; this.sigma_=_54.sigma||2; this.wilsonInterval_=_54.wilsonInterval||true; this.customBars_=_54.customBars||false; -this.attrs_=_54; +this.attrs_={}; +MochiKit.Base.update(this.attrs_,DateGraph.DEFAULT_ATTRS); +MochiKit.Base.update(this.attrs_,_54); if(typeof this.attrs_.pixelsPerXLabel=="undefined"){ this.attrs_.pixelsPerXLabel=60; } @@ -4876,8 +4878,9 @@ this.colors_.push(MochiKit.Color.Color.fromString(_65)); }; DateGraph.prototype.createStatusMessage_=function(){ if(!this.labelsDiv_){ -var _66=250; +var _66=this.attrs_.labelsDivWidth; var _67={"style":{"position":"absolute","fontSize":"14px","zIndex":10,"width":_66+"px","top":"0px","left":this.width_-_66+"px","background":"white","textAlign":"left","overflow":"hidden"}}; +MochiKit.Base.update(_67["style"],this.attrs_.labelsDivStyles); this.labelsDiv_=MochiKit.DOM.DIV(_67); MochiKit.DOM.appendChildNodes(this.graphDiv,this.labelsDiv_); } @@ -5033,7 +5036,7 @@ if(_105[i].xval==_106){ _111.push(_105[i]); } } -var _112=3; +var _112=this.attrs_.highlightCircleSize; var ctx=this.canvas_.getContext("2d"); if(this.previousVerticalX_>=0){ var px=this.previousVerticalX_; @@ -5124,20 +5127,30 @@ var _130=this.xTicker_(_129,endDate); this.layout_.updateOptions({xTicks:_130}); }; DateGraph.SECONDLY=0; -DateGraph.MINUTELY=1; -DateGraph.HOURLY=2; -DateGraph.DAILY=3; -DateGraph.WEEKLY=4; -DateGraph.MONTHLY=5; -DateGraph.QUARTERLY=6; -DateGraph.BIANNUAL=7; -DateGraph.ANNUAL=8; -DateGraph.DECADAL=9; -DateGraph.NUM_GRANULARITIES=10; +DateGraph.TEN_SECONDLY=1; +DateGraph.THIRTY_SECONDLY=2; +DateGraph.MINUTELY=3; +DateGraph.TEN_MINUTELY=4; +DateGraph.THIRTY_MINUTELY=5; +DateGraph.HOURLY=6; +DateGraph.SIX_HOURLY=7; +DateGraph.DAILY=8; +DateGraph.WEEKLY=9; +DateGraph.MONTHLY=10; +DateGraph.QUARTERLY=11; +DateGraph.BIANNUAL=12; +DateGraph.ANNUAL=13; +DateGraph.DECADAL=14; +DateGraph.NUM_GRANULARITIES=15; DateGraph.SHORT_SPACINGS=[]; DateGraph.SHORT_SPACINGS[DateGraph.SECONDLY]=1000*1; +DateGraph.SHORT_SPACINGS[DateGraph.TEN_SECONDLY]=1000*10; +DateGraph.SHORT_SPACINGS[DateGraph.THIRTY_SECONDLY]=1000*30; DateGraph.SHORT_SPACINGS[DateGraph.MINUTELY]=1000*60; +DateGraph.SHORT_SPACINGS[DateGraph.TEN_MINUTELY]=1000*60*10; +DateGraph.SHORT_SPACINGS[DateGraph.THIRTY_MINUTELY]=1000*60*30; DateGraph.SHORT_SPACINGS[DateGraph.HOURLY]=1000*3600; +DateGraph.SHORT_SPACINGS[DateGraph.HOURLY]=1000*3600*6; DateGraph.SHORT_SPACINGS[DateGraph.DAILY]=1000*86400; DateGraph.SHORT_SPACINGS[DateGraph.WEEKLY]=1000*604800; DateGraph.prototype.NumXTicks=function(_131,_132,_133){ @@ -5170,6 +5183,9 @@ var _142=[]; if(_141this.attrs_.pixelsPerYLabel){ +break; } -var _159=(maxV-minV)/_158; -while(2*_159<20){ -_159*=2; } -if((maxV-minV)/_159this.attrs_.pixelsPerYLabel){ +break; +} } -var _160=[]; -for(var i=0;i<=_159;i++){ -var _161=minV+i*(maxV-minV)/_159; -var _162=this.round_(_161,2); +var _162=[]; +for(var i=0;i=k*k*k){ -_162=this.round_(_161/(k*k*k),1)+"B"; +if(_163>=k*k*k){ +_164=this.round_(_163/(k*k*k),1)+"B"; }else{ -if(_161>=k*k){ -_162=this.round_(_161/(k*k),1)+"M"; +if(_163>=k*k){ +_164=this.round_(_163/(k*k),1)+"M"; }else{ -if(_161>=k){ -_162=this.round_(_161/k,1)+"K"; +if(_163>=k){ +_164=this.round_(_163/k,1)+"K"; } } } } -_160.push({label:_162,v:_161}); +_162.push({label:_164,v:_163}); } -return _160; +return _162; }; DateGraph.prototype.addYTicks_=function(minY,maxY){ -var _166=this.numericTicks(minY,maxY); -this.layout_.updateOptions({yAxis:[minY,maxY],yTicks:_166}); +var _168=this.numericTicks(minY,maxY); +this.layout_.updateOptions({yAxis:[minY,maxY],yTicks:_168}); }; DateGraph.prototype.drawGraph_=function(data){ var maxY=null; this.layout_.removeAllDatasets(); for(var i=1;i=low&&_167[k][0]<=high){ -_171.push(_167[k]); -var y=bars?_167[k][1][0]:_167[k][1]; +var _173=[]; +for(var k=0;k<_169.length;k++){ +if(_169[k][0]>=low&&_169[k][0]<=high){ +_173.push(_169[k]); +var y=bars?_169[k][1][0]:_169[k][1]; if(maxY==null||y>maxY){ maxY=y; } } } -_167=_171; +_169=_173; }else{ -for(var j=0;j<_167.length;j++){ -var y=bars?_167[j][1][0]:_167[j][1]; +for(var j=0;j<_169.length;j++){ +var y=bars?_169[j][1][0]:_169[j][1]; if(maxY==null||y>maxY){ -maxY=bars?y+_167[j][1][1]:y; +maxY=bars?y+_169[j][1][1]:y; } } } if(bars){ var vals=[]; -for(var j=0;j<_167.length;j++){ -vals[j]=[_167[j][0],_167[j][1][0],_167[j][1][1],_167[j][1][2]]; +for(var j=0;j<_169.length;j++){ +vals[j]=[_169[j][0],_169[j][1][0],_169[j][1][1],_169[j][1][2]]; } this.layout_.addDataset(this.labels_[i-1],vals); }else{ -this.layout_.addDataset(this.labels_[i-1],_167); +this.layout_.addDataset(this.labels_[i-1],_169); } } if(this.valueRange_!=null){ @@ -5324,9 +5345,6 @@ this.addYTicks_(this.valueRange_[0],this.valueRange_[1]); maxY*=1.1; if(maxY<=0){ maxY=1; -}else{ -var _173=Math.pow(10,Math.floor(Math.log(maxY)/Math.log(10))); -maxY=_173*Math.ceil(maxY/_173); } this.addYTicks_(0,maxY); } @@ -5336,44 +5354,44 @@ this.plotter_.clear(); this.plotter_.render(); this.canvas_.getContext("2d").clearRect(0,0,this.canvas_.width,this.canvas_.height); }; -DateGraph.prototype.rollingAverage=function(_174,_175){ -if(_174.length<2){ -return _174; +DateGraph.prototype.rollingAverage=function(_175,_176){ +if(_175.length<2){ +return _175; } -var _175=Math.min(_175,_174.length-1); -var _176=[]; -var _177=this.sigma_; +var _176=Math.min(_176,_175.length-1); +var _177=[]; +var _178=this.sigma_; if(this.fractions_){ var num=0; var den=0; var mult=100; -for(var i=0;i<_174.length;i++){ -num+=_174[i][1][0]; -den+=_174[i][1][1]; -if(i-_175>=0){ -num-=_174[i-_175][1][0]; -den-=_174[i-_175][1][1]; -} -var date=_174[i][0]; -var _180=den?num/den:0; +for(var i=0;i<_175.length;i++){ +num+=_175[i][1][0]; +den+=_175[i][1][1]; +if(i-_176>=0){ +num-=_175[i-_176][1][0]; +den-=_175[i-_176][1][1]; +} +var date=_175[i][0]; +var _181=den?num/den:0; if(this.errorBars_){ if(this.wilsonInterval_){ if(den){ -var p=_180<0?0:_180,n=den; -var pm=_177*Math.sqrt(p*(1-p)/n+_177*_177/(4*n*n)); -var _183=1+_177*_177/den; -var low=(p+_177*_177/(2*den)-pm)/_183; -var high=(p+_177*_177/(2*den)+pm)/_183; -_176[i]=[date,[p*mult,(p-low)*mult,(high-p)*mult]]; +var p=_181<0?0:_181,n=den; +var pm=_178*Math.sqrt(p*(1-p)/n+_178*_178/(4*n*n)); +var _184=1+_178*_178/den; +var low=(p+_178*_178/(2*den)-pm)/_184; +var high=(p+_178*_178/(2*den)+pm)/_184; +_177[i]=[date,[p*mult,(p-low)*mult,(high-p)*mult]]; }else{ -_176[i]=[date,[0,0,0]]; +_177[i]=[date,[0,0,0]]; } }else{ -var _184=den?_177*Math.sqrt(_180*(1-_180)/den):1; -_176[i]=[date,[mult*_180,mult*_184,mult*_184]]; +var _185=den?_178*Math.sqrt(_181*(1-_181)/den):1; +_177[i]=[date,[mult*_181,mult*_185,mult*_185]]; } }else{ -_176[i]=[date,mult*_180]; +_177[i]=[date,mult*_181]; } } }else{ @@ -5381,157 +5399,157 @@ if(this.customBars_){ var low=0; var mid=0; var high=0; -var _186=0; -for(var i=0;i<_174.length;i++){ -var data=_174[i][1]; +var _187=0; +for(var i=0;i<_175.length;i++){ +var data=_175[i][1]; var y=data[1]; -_176[i]=[_174[i][0],[y,y-data[0],data[2]-y]]; +_177[i]=[_175[i][0],[y,y-data[0],data[2]-y]]; low+=data[0]; mid+=y; high+=data[2]; -_186+=1; -if(i-_175>=0){ -var prev=_174[i-_175]; +_187+=1; +if(i-_176>=0){ +var prev=_175[i-_176]; low-=prev[1][0]; mid-=prev[1][1]; high-=prev[1][2]; -_186-=1; +_187-=1; } -_176[i]=[_174[i][0],[1*mid/_186,1*(mid-low)/_186,1*(high-mid)/_186]]; +_177[i]=[_175[i][0],[1*mid/_187,1*(mid-low)/_187,1*(high-mid)/_187]]; } }else{ -var _188=Math.min(_175-1,_174.length-2); +var _189=Math.min(_176-1,_175.length-2); if(!this.errorBars_){ -for(var i=0;i<_188;i++){ +for(var i=0;i<_189;i++){ var sum=0; for(var j=0;j