|
@@ -176,12 +176,15 @@ export default defineComponent({
|
|
|
let sameSideIndex = chartData.findIndex(
|
|
|
(i:IDataProps) => i.IsAxis === item.IsAxis
|
|
|
);
|
|
|
+ //轴数值的最大长度 用于计算单位标题相对与轴的偏移计算 没啥卵用需求如此 只为了显示美观 无逻辑用处
|
|
|
+ let MaxlabelLen = getLabelMaxLen(item.DataList) + item.Unit.length
|
|
|
+
|
|
|
//y轴
|
|
|
let yItem = {
|
|
|
...basicYAxis,
|
|
|
labels: {
|
|
|
formatter: function (ctx: any) {
|
|
|
- let val = Math.abs(ctx.value) < 1000 ? ctx.value : ctx.value / 1000 + 'k';
|
|
|
+ let val = ctx.value;
|
|
|
return sameSideIndex !== index ? '' : val;
|
|
|
},
|
|
|
align: 'center',
|
|
@@ -196,7 +199,8 @@ export default defineComponent({
|
|
|
align: 'high',
|
|
|
rotation: 0,
|
|
|
y: -15,
|
|
|
- offset: 0
|
|
|
+ textAlign: item.IsAxis===1 ? 'left' : 'right',
|
|
|
+ reserveSpace: false
|
|
|
},
|
|
|
opposite: [0,2].includes(item.IsAxis),
|
|
|
reversed: item.IsOrder,
|
|
@@ -295,6 +299,13 @@ export default defineComponent({
|
|
|
return [left_edbs,right_edbs,right_two_edbs].flat(Infinity);
|
|
|
}
|
|
|
|
|
|
+ const getLabelMaxLen = (data : any[]) => {
|
|
|
+ let value_arr = data.map(_ => String(Math.abs(_.Value)));
|
|
|
+ let max_len_value = value_arr.reduce((a,b)=> (a.length > b.length ? a : b))
|
|
|
+ let num = Number(max_len_value) > 1 ? String(Math.floor(Number(max_len_value))) : max_len_value
|
|
|
+ return num.length
|
|
|
+ }
|
|
|
+
|
|
|
/* 堆叠图/组合图设置
|
|
|
本来和曲线图逻辑基本一致兼容下即可 为了以后便于维护和阅读还是拆开写吧
|
|
|
*/
|
|
@@ -335,12 +346,15 @@ export default defineComponent({
|
|
|
item.IsAxis = serie_yIndex === index ? item.IsAxis : chartData[serie_yIndex].IsAxis;
|
|
|
item.IsOrder = serie_yIndex === index ? item.IsOrder : chartData[serie_yIndex].IsOrder;
|
|
|
|
|
|
+ //轴数值的最大长度 用于计算单位标题相对与轴的偏移计算 没啥卵用需求如此 只为了显示美观 无逻辑用处
|
|
|
+ let MaxlabelLen = getLabelMaxLen(item.DataList) + item.Unit.length
|
|
|
+
|
|
|
//y轴
|
|
|
let yItem = {
|
|
|
...basicYAxis,
|
|
|
labels: {
|
|
|
formatter: function (ctx: any) {
|
|
|
- let val = Math.abs(ctx.value) < 1000 ? ctx.value : ctx.value / 1000 + 'k';
|
|
|
+ let val = ctx.value;
|
|
|
return sameSideIndex !== index ? '' : val;
|
|
|
},
|
|
|
align: 'center',
|
|
@@ -355,7 +369,8 @@ export default defineComponent({
|
|
|
align: 'high',
|
|
|
rotation: 0,
|
|
|
y: -15,
|
|
|
- offset: 0
|
|
|
+ textAlign: item.IsAxis===1 ? 'left' : 'right',
|
|
|
+ reserveSpace: false
|
|
|
},
|
|
|
opposite: [0,2].includes(item.IsAxis),
|
|
|
reversed: item.IsOrder,
|
|
@@ -468,7 +483,7 @@ export default defineComponent({
|
|
|
const s_yItem = {
|
|
|
labels: {
|
|
|
formatter: function (ctx: any) {
|
|
|
- let val = ctx.value < 1000 ? ctx.value : ctx.value / 1000 + 'k';
|
|
|
+ let val = ctx.value;
|
|
|
return index !== 0 ? '' : val;
|
|
|
},
|
|
|
align: 'center',
|
|
@@ -520,7 +535,7 @@ export default defineComponent({
|
|
|
const s_yItem = {
|
|
|
labels: {
|
|
|
formatter: function (ctx: any) {
|
|
|
- let val = ctx.value < 1000 ? ctx.value : ctx.value / 1000 + 'k';
|
|
|
+ let val = ctx.value;
|
|
|
return index !== 0 ? '' : val;
|
|
|
},
|
|
|
align: 'center',
|