| 7 (function($){var options={series:{threshold:null}};function init(plot){function
thresholdData(plot,s,datapoints,below,color){var ps=datapoints.pointsize,i,x,y,p
,prevp,thresholded=$.extend({},s);thresholded.datapoints={points:[],pointsize:ps
,format:datapoints.format};thresholded.label=null;thresholded.color=color;thresh
olded.threshold=null;thresholded.originSeries=s;thresholded.data=[];var origpoin
ts=datapoints.points,addCrossingPoints=s.lines.show;var threspoints=[];var newpo
ints=[];var m;for(i=0;i<origpoints.length;i+=ps){x=origpoints[i];y=origpoints[i+
1];prevp=p;if(y<below)p=threspoints;else p=newpoints;if(addCrossingPoints&&prevp
!=p&&x!=null&&i>0&&origpoints[i-ps]!=null){var interx=x+(below-y)*(x-origpoints[
i-ps])/(y-origpoints[i-ps+1]);prevp.push(interx);prevp.push(below);for(m=2;m<ps;
++m)prevp.push(origpoints[i+m]);p.push(null);p.push(null);for(m=2;m<ps;++m)p.pus
h(origpoints[i+m]);p.push(interx);p.push(below);for(m=2;m<ps;++m)p.push(origpoin
ts[i+m])}p.push(x);p.push(y);for(m=2;m<ps;++m)p.push(origpoints[i+m])}datapoints
.points=newpoints;thresholded.datapoints.points=threspoints;if(thresholded.datap
oints.points.length>0){var origIndex=$.inArray(s,plot.getData());plot.getData().
splice(origIndex+1,0,thresholded)}}function processThresholds(plot,s,datapoints)
{if(!s.threshold)return;if(s.threshold instanceof Array){s.threshold.sort(functi
on(a,b){return a.below-b.below});$(s.threshold).each(function(i,th){thresholdDat
a(plot,s,datapoints,th.below,th.color)})}else{thresholdData(plot,s,datapoints,s.
threshold.below,s.threshold.color)}}plot.hooks.processDatapoints.push(processThr
esholds)}$.plot.plugins.push({init:init,options:options,name:"threshold",version
:"1.2"})})(jQuery); |