| OLD | NEW |
| 1 // | 1 // |
| 2 // Copyright 2014 Google Inc. All rights reserved. | 2 // Copyright 2014 Google Inc. All rights reserved. |
| 3 // | 3 // |
| 4 // Use of this source code is governed by a BSD-style | 4 // Use of this source code is governed by a BSD-style |
| 5 // license that can be found in the LICENSE file or at | 5 // license that can be found in the LICENSE file or at |
| 6 // https://developers.google.com/open-source/licenses/bsd | 6 // https://developers.google.com/open-source/licenses/bsd |
| 7 // | 7 // |
| 8 part of charted.core.scales; | 8 part of charted.core.scales; |
| 9 | 9 |
| 10 class LinearScale implements Scale { | 10 class LinearScale implements Scale { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 if (nice) { | 38 if (nice) { |
| 39 _domain = ScaleUtils.nice( | 39 _domain = ScaleUtils.nice( |
| 40 _domain, ScaleUtils.niceStep(_linearTickRange().step)); | 40 _domain, ScaleUtils.niceStep(_linearTickRange().step)); |
| 41 } | 41 } |
| 42 | 42 |
| 43 Function linear = math.min(_domain.length, _range.length) > 2 | 43 Function linear = math.min(_domain.length, _range.length) > 2 |
| 44 ? ScaleUtils.polylinearScale | 44 ? ScaleUtils.polylinearScale |
| 45 : ScaleUtils.bilinearScale; | 45 : ScaleUtils.bilinearScale; |
| 46 | 46 |
| 47 Function uninterpolator = clamp ? uninterpolateClamp : uninterpolateNumber; | 47 Function uninterpolator = clamp ? uninterpolateClamp : uninterpolateNumber; |
| 48 InterpolatorGenerator interpolator = | 48 InterpolatorGenerator interpolator; |
| 49 _rounded ? createRoundedNumberInterpolator : createNumberInterpolator; | 49 if (rounded) { |
| 50 interpolator = createRoundedNumberInterpolator; |
| 51 } else { |
| 52 interpolator = createNumberInterpolator; |
| 53 } |
| 50 | 54 |
| 51 _invert = linear(_range, _domain, uninterpolator, createNumberInterpolator); | 55 _invert = linear(_range, _domain, uninterpolator, createNumberInterpolator); |
| 52 _scale = linear(_domain, _range, uninterpolator, interpolator); | 56 _scale = linear(_domain, _range, uninterpolator, interpolator); |
| 53 } | 57 } |
| 54 | 58 |
| 55 @override | 59 @override |
| 56 set range(Iterable value) { | 60 set range(Iterable value) { |
| 57 assert(value != null); | 61 assert(value != null); |
| 58 _range = value; | 62 _range = value; |
| 59 _reset(); | 63 _reset(); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 } | 123 } |
| 120 } | 124 } |
| 121 | 125 |
| 122 @override | 126 @override |
| 123 bool get nice => _nice; | 127 bool get nice => _nice; |
| 124 | 128 |
| 125 @override | 129 @override |
| 126 Extent get rangeExtent => ScaleUtils.extent(_range); | 130 Extent get rangeExtent => ScaleUtils.extent(_range); |
| 127 | 131 |
| 128 @override | 132 @override |
| 129 num scale(num value) => _scale(value); | 133 scale(value) => _scale(value); |
| 130 | 134 |
| 131 @override | 135 @override |
| 132 num invert(num value) => _invert(value); | 136 invert(value) => _invert(value); |
| 133 | 137 |
| 134 Range _linearTickRange([Extent extent]) { | 138 Range _linearTickRange([Extent extent]) { |
| 135 if (extent == null) { | 139 if (extent == null) { |
| 136 extent = ScaleUtils.extent(_domain); | 140 extent = ScaleUtils.extent(_domain); |
| 137 } | 141 } |
| 138 var span = extent.max - extent.min; | 142 var span = extent.max - extent.min; |
| 139 if (span == 0) { | 143 if (span == 0) { |
| 140 span = 1.0; // [span / _ticksCount] should never be equal zero. | 144 span = 1.0; // [span / _ticksCount] should never be equal zero. |
| 141 } | 145 } |
| 142 var step = math.pow(10, (math.log(span / _ticksCount) / math.LN10).floor()); | 146 var step = math.pow(10, (math.log(span / _ticksCount) / math.LN10).floor()); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 164 if (formatStr == null) { | 168 if (formatStr == null) { |
| 165 formatStr = ".${precision(tickRange.step)}f"; | 169 formatStr = ".${precision(tickRange.step)}f"; |
| 166 } | 170 } |
| 167 NumberFormat formatter = new NumberFormat(new EnUsLocale()); | 171 NumberFormat formatter = new NumberFormat(new EnUsLocale()); |
| 168 return formatter.format(formatStr); | 172 return formatter.format(formatStr); |
| 169 } | 173 } |
| 170 | 174 |
| 171 @override | 175 @override |
| 172 LinearScale clone() => new LinearScale._clone(this); | 176 LinearScale clone() => new LinearScale._clone(this); |
| 173 } | 177 } |
| OLD | NEW |