1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | /** * Flotr Series Library */ (function () { var _ = Flotr._; function Series (o) { _.extend(this, o); } Series.prototype = { getRange: function () { var data = this.data, length = data.length, xmin = Number.MAX_VALUE, ymin = Number.MAX_VALUE, xmax = -Number.MAX_VALUE, ymax = -Number.MAX_VALUE, xused = false, yused = false, x, y, i; if (length < 0 || this.hide) return false; for (i = 0; i < length; i++) { x = data[i][0]; y = data[i][1]; if (x !== null) { if (x < xmin) { xmin = x; xused = true; } if (x > xmax) { xmax = x; xused = true; } } if (y !== null) { if (y < ymin) { ymin = y; yused = true; } if (y > ymax) { ymax = y; yused = true; } } } return { xmin : xmin, xmax : xmax, ymin : ymin, ymax : ymax, xused : xused, yused : yused }; } }; _.extend(Series, { /** * Collects dataseries from input and parses the series into the right format. It returns an Array * of Objects each having at least the 'data' key set. * @param {Array, Object} data - Object or array of dataseries * @return {Array} Array of Objects parsed into the right format ({(...,) data: [[x1,y1], [x2,y2], ...] (, ...)}) */ getSeries: function(data){ return _.map(data, function(s){ var series; if (s.data) { series = new Series(); _.extend(series, s); } else { series = new Series({data:s}); } return series; }); } }); Flotr.Series = Series; })(); |