Skip to content

Commit 4712bd6

Browse files
committed
Improvement - VueUiXy added datapoint individual scaleMin & scaleMax attributes for individual scaling customization
1 parent cd3042f commit 4712bd6

File tree

5 files changed

+28
-51
lines changed

5 files changed

+28
-51
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "vue-data-ui",
33
"private": false,
4-
"version": "2.1.53",
4+
"version": "2.1.54",
55
"type": "module",
66
"description": "A user-empowering data visualization Vue 3 components library for eloquent data storytelling",
77
"keywords": [

src/App.vue

Lines changed: 15 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -98,55 +98,30 @@ const dataset = ref([
9898
const dataset2 = ref([
9999
{
100100
name: "Series 1",
101-
series: [ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55],
102-
type: "bar",
103-
color: "rgb(95,139,238)",
104-
smooth: true,
105-
scaleSteps: 20,
106-
scaleLabel: "label test"
107-
},
108-
{
109-
name: "Series 2",
110-
series: [ 55, 34, 21, 13, 8, 5, 3, 2, 1, 1, 0, -1, -1, -2, -3, -5, -8, -13, -21, -34, -55],
101+
series: [ 10, 20, 30, 20, 25, 12, 24, 21, 12, 22, 23, 24],
111102
type: "line",
112103
color: "rgb(66,211,146)",
113-
useArea: true,
114-
useProgression: true,
115-
dataLabels: false,
116-
shape: "hexagon",
117-
scaleLabel: "label test"
118-
},
119-
{
120-
name: "Series 3",
121-
series: [ 3600, 2900, 4700, 2950, 3222, 4786, 3333, 2222, 4444, 5555, 3336, 2272, 1112, 3337, 2298],
122-
type: "line",
123-
color: "rgb(255,100,0)",
124-
shape: "star",
104+
scaleLabel: "label test",
125105
smooth: true,
126-
useArea: true,
127-
scaleLabel: "label test"
128106
},
129107
{
130-
name: "Series 4",
131-
series: [ 0, 1, -2, 3, -4, 5, -6, 7, -8, 9, -10, 11, -12, 13, -14, 15, -16, 17, -18, 19, -20],
108+
name: "Series 2",
109+
series: [ 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1],
132110
type: "line",
133-
smooth: true,
134-
useArea: false,
135-
dataLabels: false,
136-
color: "rgb(200,200,50)",
137-
shape: "pentagon",
138-
scaleLabel: "label test"
111+
color: "rgb(255,100,0)",
112+
scaleLabel: "label test",
113+
scaleMin: 0,
114+
scaleMax: 5,
115+
scaleSteps: 3,
139116
},
140117
{
141-
name: "Target",
142-
series: [ -500, 500, -500, 500, -500, 500, -500, 500, -500, 500, -500, 500],
118+
name: "Series 3",
119+
series: [ 2, 3, 3, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3],
143120
type: "line",
144-
color: "#404040",
145-
dashed: true,
146-
useTag: "start",
147-
dataLabels: false,
148-
scaleSteps: 20,
149-
scaleLabel: "label test"
121+
scaleLabel: "label test",
122+
scaleMin: 0,
123+
scaleMax: 5,
124+
scaleSteps: 3
150125
},
151126
]);
152127

src/components/vue-ui-xy.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,8 +1142,8 @@ export default {
11421142
barSet() {
11431143
return this.absoluteDataset.filter(s => s.type === 'bar').filter(s => !this.segregatedSeries.includes(s.id)).map((datapoint, i) => {
11441144
const individualExtremes = {
1145-
max: Math.max(...datapoint.absoluteValues),
1146-
min: Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
1145+
max: datapoint.scaleMax || Math.max(...datapoint.absoluteValues),
1146+
min: datapoint.scaleMin || Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
11471147
};
11481148
const scaleSteps = datapoint.scaleSteps || this.chartConfig.chart.grid.labels.yAxis.commonScaleSteps
11491149
const individualScale = this.calculateNiceScale(individualExtremes.min, individualExtremes.max, scaleSteps)
@@ -1172,14 +1172,14 @@ export default {
11721172
lineSet() {
11731173
return this.absoluteDataset.filter(s => s.type === 'line').filter(s => !this.segregatedSeries.includes(s.id)).map((datapoint) => {
11741174
const individualExtremes = {
1175-
max: Math.max(...datapoint.absoluteValues),
1176-
min: Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
1175+
max: datapoint.scaleMax || Math.max(...datapoint.absoluteValues),
1176+
min: datapoint.scaleMin || (Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues))
11771177
};
11781178
11791179
const scaleSteps = datapoint.scaleSteps || this.chartConfig.chart.grid.labels.yAxis.commonScaleSteps
11801180
const individualScale = this.calculateNiceScale(individualExtremes.min, individualExtremes.max, scaleSteps)
1181-
const individualZero = individualScale.min >= 0 ? 0 : Math.abs(individualScale.min);
1182-
const individualMax = individualScale.max + Math.abs(individualZero)
1181+
const individualZero = (individualScale.min >= 0 ? 0 : Math.abs(individualScale.min))
1182+
const individualMax = individualScale.max + Math.abs(individualZero)
11831183
const zeroPosition = this.drawingArea.bottom - (this.drawingArea.height * individualZero / individualMax);
11841184
11851185
const plots = datapoint.series.map((plot, j) => {
@@ -1206,8 +1206,8 @@ export default {
12061206
plotSet() {
12071207
return this.absoluteDataset.filter(s => s.type === 'plot').filter(s => !this.segregatedSeries.includes(s.id)).map((datapoint) => {
12081208
const individualExtremes = {
1209-
max: Math.max(...datapoint.absoluteValues),
1210-
min: Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
1209+
max: datapoint.scaleMax || Math.max(...datapoint.absoluteValues),
1210+
min: datapoint.scaleMin || Math.min(...datapoint.absoluteValues) > 0 ? 0 : Math.min(...datapoint.absoluteValues)
12111211
};
12121212
12131213
const scaleSteps = datapoint.scaleSteps || this.chartConfig.chart.grid.labels.yAxis.commonScaleSteps

types/vue-data-ui.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2484,6 +2484,8 @@ declare module 'vue-data-ui' {
24842484
useProgression?: boolean;
24852485
scaleSteps?: number;
24862486
scaleLabel?: string;
2487+
scaleMax?: number;
2488+
scaleMin?: number;
24872489
};
24882490

24892491
export type VueUiXyDatasetBarItem = {

0 commit comments

Comments
 (0)