Skip to content

Commit 4138e78

Browse files
authored
Merge pull request #102 from graphieros/ft-zoom-minimap
Fix - VueUiXy - Fix scale issues when min scale is same as max scale
2 parents 1f81c51 + 1bb5db0 commit 4138e78

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

src/components/vue-ui-xy.vue

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@
105105
v-for="l in yLabels"
106106
:x1="drawingArea.left + xPadding"
107107
:x2="drawingArea.right - xPadding"
108-
:y1="l.y"
109-
:y2="l.y"
108+
:y1="checkNaN(l.y)"
109+
:y2="checkNaN(l.y)"
110110
:stroke="FINAL_CONFIG.chart.grid.stroke"
111111
:stroke-width="0.5"
112112
stroke-linecap="round"
@@ -120,8 +120,8 @@
120120
v-for="l in grid.yLabels"
121121
:x1="drawingArea.left + xPadding"
122122
:x2="drawingArea.right - xPadding"
123-
:y1="l.y"
124-
:y2="l.y"
123+
:y1="checkNaN(l.y)"
124+
:y2="checkNaN(l.y)"
125125
:stroke="grid.color"
126126
:stroke-width="0.5"
127127
stroke-linecap="round"
@@ -132,8 +132,8 @@
132132
v-for="l in grid.yLabels"
133133
:x1="drawingArea.left + xPadding"
134134
:x2="drawingArea.right - xPadding"
135-
:y1="l.y"
136-
:y2="l.y"
135+
:y1="checkNaN(l.y)"
136+
:y2="checkNaN(l.y)"
137137
:stroke="FINAL_CONFIG.chart.grid.stroke"
138138
:stroke-width="0.5"
139139
stroke-linecap="round"
@@ -1593,9 +1593,12 @@ export default {
15931593
min: datapoint.scaleMin || Math.min(...datapoint.absoluteValues.filter(v => ![undefined,null].includes(v))) > 0 ? 0 : Math.min(...datapoint.absoluteValues.filter(v => ![null, undefined].includes(v)))
15941594
};
15951595
const scaleSteps = datapoint.scaleSteps || this.FINAL_CONFIG.chart.grid.labels.yAxis.commonScaleSteps;
1596+
1597+
const corrector = 0.0000001;
1598+
1599+
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max === individualExtremes.min ? individualExtremes.max * corrector : individualExtremes.max, scaleSteps);
15961600
1597-
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max, scaleSteps);
1598-
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax, scaleSteps);
1601+
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax === autoScale.valueMin ? autoScale.valueMax * corrector : autoScale.valueMax, scaleSteps);
15991602
16001603
const individualZero = individualScale.min >= 0 ? 0 : Math.abs(individualScale.min);
16011604
const autoScaleZero = 0;
@@ -1716,9 +1719,11 @@ export default {
17161719
17171720
const scaleSteps = datapoint.scaleSteps || this.FINAL_CONFIG.chart.grid.labels.yAxis.commonScaleSteps
17181721
1719-
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max, scaleSteps);
1722+
const corrector = 0.0000001;
1723+
1724+
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max === individualExtremes.min ? individualExtremes.max * corrector : individualExtremes.max, scaleSteps);
17201725
1721-
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax, scaleSteps);
1726+
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax === autoScale.valueMin ? autoScale.valueMax * corrector : autoScale.valueMax, scaleSteps);
17221727
17231728
const individualZero = (individualScale.min >= 0 ? 0 : Math.abs(individualScale.min));
17241729
const autoScaleZero = 0;
@@ -1818,9 +1823,13 @@ export default {
18181823
min: datapoint.scaleMin || Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
18191824
};
18201825
1821-
const scaleSteps = datapoint.scaleSteps || this.FINAL_CONFIG.chart.grid.labels.yAxis.commonScaleSteps
1822-
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max, scaleSteps)
1823-
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax, scaleSteps);
1826+
const scaleSteps = datapoint.scaleSteps || this.FINAL_CONFIG.chart.grid.labels.yAxis.commonScaleSteps;
1827+
1828+
const corrector = 0.0000001;
1829+
1830+
const individualScale = this.calculateNiceScaleWithExactExtremes(individualExtremes.min, individualExtremes.max === individualExtremes.min ? individualExtremes.max * corrector : individualExtremes.max, scaleSteps);
1831+
1832+
const autoScaleSteps = this.calculateNiceScaleWithExactExtremes(autoScale.valueMin, autoScale.valueMax === autoScale.valueMin ? autoScale.valueMax * corrector : autoScale.valueMax, scaleSteps);
18241833
18251834
const individualZero = individualScale.min >= 0 ? 0 : Math.abs(individualScale.min);
18261835
const autoScaleZero = 0;
@@ -2457,7 +2466,7 @@ export default {
24572466
return closest;
24582467
},
24592468
ratioToMax(value) {
2460-
return value / this.absoluteMax;
2469+
return value / (this.canShowValue(this.absoluteMax) ? this.absoluteMax : 1);
24612470
},
24622471
selectX(index) {
24632472
this.$emit('selectX',

0 commit comments

Comments
 (0)