// Update the lines
this.eachDataset(function(dataset, datasetIndex) {
var yScale = this.scales[dataset.yAxisID];
+ var scaleBase;
+
+ if (yScale.min < 0 && yScale.max < 0) {
+ scaleBase = yScale.getPixelForValue(yScale.max);
+ } else if (yScale.min > 0 && yScale.max > 0) {
+ scaleBase = yScale.getPixelForValue(yScale.min);
+ } else {
+ scaleBase = yScale.getPixelForValue(0);
+ }
helpers.extend(dataset.metaDataset, {
// Utility
// Scale
scaleTop: yScale.top,
scaleBottom: yScale.bottom,
- scaleZero: yScale.getPixelForValue(0),
+ scaleZero: scaleBase,
},
});
// Update the lines
this.eachDataset(function(dataset, datasetIndex) {
+ var scaleBase;
+
+ if (this.scale.min < 0 && this.scale.max < 0) {
+ scaleBase = this.scale.getPointPosition(0, this.scale.max);
+ } else if (this.scale.min > 0 && this.scale.max > 0) {
+ scaleBase = this.scale.getPointPosition(0, this.scale.min);
+ } else {
+ scaleBase = this.scale.getPointPosition(0, 0);
+ }
+
helpers.extend(dataset.metaDataset, {
// Utility
_datasetIndex: datasetIndex,
// Scale
scaleTop: this.scale.top,
scaleBottom: this.scale.bottom,
- scaleZero: this.scale.getPointPosition(0),
+ scaleZero: scaleBase,
},
});
// Update the lines
this.eachDataset(function(dataset, datasetIndex) {
var yScale = this.scales[dataset.yAxisID];
+ var scaleBase;
+
+ if (yScale.min < 0 && yScale.max < 0) {
+ scaleBase = yScale.getPixelForValue(yScale.max);
+ } else if (yScale.min > 0 && yScale.max > 0) {
+ scaleBase = yScale.getPixelForValue(yScale.min);
+ } else {
+ scaleBase = yScale.getPixelForValue(0);
+ }
helpers.extend(dataset.metaDataset, {
// Utility
// Scale
scaleTop: yScale.top,
scaleBottom: yScale.bottom,
- scaleZero: yScale.getPixelForValue(0),
+ scaleZero: scaleBase,
},
});