[483] | 1 | define(["dojo/_base/declare", "./Default", "./commonStacked"], |
---|
| 2 | function(declare, Default, commonStacked){ |
---|
| 3 | |
---|
| 4 | return declare("dojox.charting.plot2d.Stacked", Default, { |
---|
| 5 | // summary: |
---|
| 6 | // Like the default plot, Stacked sets up lines, areas and markers |
---|
| 7 | // in a stacked fashion (values on the y axis added to each other) |
---|
| 8 | // as opposed to a direct one. |
---|
| 9 | getSeriesStats: function(){ |
---|
| 10 | // summary: |
---|
| 11 | // Calculate the min/max on all attached series in both directions. |
---|
| 12 | // returns: Object |
---|
| 13 | // {hmin, hmax, vmin, vmax} min/max in both directions. |
---|
| 14 | var stats = commonStacked.collectStats(this.series); |
---|
| 15 | return stats; // Object |
---|
| 16 | }, |
---|
| 17 | |
---|
| 18 | buildSegments: function(i, indexed){ |
---|
| 19 | var run = this.series[i], |
---|
| 20 | min = indexed?Math.max(0, Math.floor(this._hScaler.bounds.from - 1)):0, |
---|
| 21 | max = indexed?Math.min(run.data.length-1, Math.ceil(this._hScaler.bounds.to)):run.data.length-1, |
---|
| 22 | rseg = null, segments = []; |
---|
| 23 | // split the run data into dense segments (each containing no nulls) |
---|
| 24 | // except if interpolates is false in which case ignore null between valid data |
---|
| 25 | for(var j = min; j <= max; j++){ |
---|
| 26 | var value = indexed ? commonStacked.getIndexValue(this.series, i, j) : commonStacked.getValue(this.series, i, run.data[j] ?run.data[j].x: null); |
---|
| 27 | if(value[0] != null && (indexed || value[0].y != null)){ |
---|
| 28 | if(!rseg){ |
---|
| 29 | rseg = []; |
---|
| 30 | segments.push({index: j, rseg: rseg}); |
---|
| 31 | } |
---|
| 32 | rseg.push(value[0]); |
---|
| 33 | }else{ |
---|
| 34 | if(!this.opt.interpolate || indexed){ |
---|
| 35 | // we break the line only if not interpolating or if we have indexed data |
---|
| 36 | rseg = null; |
---|
| 37 | } |
---|
| 38 | } |
---|
| 39 | } |
---|
| 40 | return segments; |
---|
| 41 | } |
---|
| 42 | |
---|
| 43 | }); |
---|
| 44 | }); |
---|