| Index: packages/charted/lib/core/scales/ordinal_scale.dart
|
| diff --git a/packages/charted/lib/core/scales/ordinal_scale.dart b/packages/charted/lib/core/scales/ordinal_scale.dart
|
| index 695f951b5dcd9ad72fb9bbd92f9cc9d8a8955e1c..dc9e7de61e03b511951bb89674033d78ebf3ef7b 100644
|
| --- a/packages/charted/lib/core/scales/ordinal_scale.dart
|
| +++ b/packages/charted/lib/core/scales/ordinal_scale.dart
|
| @@ -19,8 +19,8 @@ class _OrdinalScale implements OrdinalScale {
|
| _OrdinalScale();
|
|
|
| _OrdinalScale._clone(_OrdinalScale source)
|
| - : _domain = source._domain,
|
| - _range = source._range,
|
| + : _domain = new List.from(source._domain),
|
| + _range = new List.from(source._range),
|
| _reset = source._reset,
|
| _rangeExtent = source._rangeExtent,
|
| _rangeBand = source._rangeBand {
|
| @@ -120,11 +120,12 @@ class _OrdinalScale implements OrdinalScale {
|
| scale._reset = (_OrdinalScale s) {
|
| var start = range.first,
|
| stop = range.last,
|
| - step = (stop - start) / (s.domain.length - 1 + padding);
|
| + step = s.domain.length > 1
|
| + ? (stop - start - 2 * padding) / (s.domain.length - 1)
|
| + : 0;
|
|
|
| s._range = s._steps(
|
| - s.domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2,
|
| - step);
|
| + s.domain.length < 2 ? (start + stop) / 2 : start + padding, step);
|
| s._rangeBand = 0;
|
| s._rangeExtent = new Extent(start, stop);
|
| };
|
| @@ -138,7 +139,10 @@ class _OrdinalScale implements OrdinalScale {
|
| scale._reset = (_OrdinalScale s) {
|
| var start = range.first,
|
| stop = range.last,
|
| - step = (stop - start) / s.domain.length - padding + 2 * outerPadding;
|
| + step = (stop - start - 2 * outerPadding) /
|
| + (s.domain.length > 1
|
| + ? (s.domain.length - padding)
|
| + : 1);
|
|
|
| s._range = s._steps(start + step * outerPadding, step);
|
| s._rangeBand = step * (1 - padding);
|
| @@ -155,11 +159,12 @@ class _OrdinalScale implements OrdinalScale {
|
| var start = range.first,
|
| stop = range.last,
|
| step =
|
| - ((stop - start) / (s.domain.length - padding + 2 * outerPadding))
|
| - .floor(),
|
| - error = stop - start - (s.domain.length - padding) * step;
|
| + ((stop - start - 2 * outerPadding) /
|
| + (s.domain.length > 1
|
| + ? (s.domain.length - padding)
|
| + : 1)).floor();
|
|
|
| - s._range = s._steps(start + (error / 2).round(), step);
|
| + s._range = s._steps(start + outerPadding, step);
|
| s._rangeBand = (step * (1 - padding)).round();
|
| s._rangeExtent = new Extent(start, stop);
|
| };
|
| @@ -171,9 +176,9 @@ class _OrdinalScale implements OrdinalScale {
|
| //
|
| // Properties that are valid only on quantitative scales.
|
| //
|
| -
|
| bool clamp;
|
| bool nice;
|
| bool rounded;
|
| int ticksCount;
|
| + int forcedTicksCount;
|
| }
|
|
|