diff --git a/core/frontend/src/lang/en.js b/core/frontend/src/lang/en.js
index 5f74ff4cac..1438ae37fa 100644
--- a/core/frontend/src/lang/en.js
+++ b/core/frontend/src/lang/en.js
@@ -1707,7 +1707,9 @@ export default {
regression_loess: 'LOESS',
regression_algo: 'Algorithm',
trend_line: 'Trend Line',
- field_enum: 'Enumeration values'
+ field_enum: 'Enumeration values',
+ main_axis_label: 'Main Axis Label',
+ sub_axis_label: 'Sub Axis Label'
},
dataset: {
scope_edit: 'Effective only when editing',
diff --git a/core/frontend/src/lang/tw.js b/core/frontend/src/lang/tw.js
index f714b597cf..1ad207c391 100644
--- a/core/frontend/src/lang/tw.js
+++ b/core/frontend/src/lang/tw.js
@@ -1700,7 +1700,9 @@ export default {
regression_loess: '局部加權',
regression_algo: '算法',
trend_line: '趨勢線',
- field_enum: '枚舉值'
+ field_enum: '枚舉值',
+ main_axis_label: '主軸標籤',
+ sub_axis_label: '副軸標籤'
},
dataset: {
scope_edit: '僅編輯時生效',
diff --git a/core/frontend/src/lang/zh.js b/core/frontend/src/lang/zh.js
index a69e63aa59..52366c6037 100644
--- a/core/frontend/src/lang/zh.js
+++ b/core/frontend/src/lang/zh.js
@@ -1699,7 +1699,9 @@ export default {
regression_loess: '局部加权',
regression_algo: '算法',
trend_line: '趋势线',
- field_enum: '枚举值'
+ field_enum: '枚举值',
+ main_axis_label: '主轴标签',
+ sub_axis_label: '副轴标签'
},
dataset: {
scope_edit: '仅编辑时生效',
diff --git a/core/frontend/src/views/chart/chart/chart.js b/core/frontend/src/views/chart/chart/chart.js
index 81bc796cc7..d40c2dfc41 100644
--- a/core/frontend/src/views/chart/chart/chart.js
+++ b/core/frontend/src/views/chart/chart/chart.js
@@ -199,10 +199,15 @@ export const DEFAULT_LABEL = {
color: '#909399',
fontSize: '10',
formatter: '{c}',
- gaugeFormatter: '{value}',
+ subShow: false,
+ subPosition: 'top',
+ subColor: '#909399',
+ subFontSize: '10',
+ subFormatter: '{c}',
labelLine: {
show: true
},
+ gaugeFormatter: '{value}',
gaugeLabelFormatter: {
type: 'value', // auto,value,percent
unit: 1, // 换算单位
diff --git a/core/frontend/src/views/chart/chart/mix/mix.js b/core/frontend/src/views/chart/chart/mix/mix.js
index c0c3579016..3604ab7eb5 100644
--- a/core/frontend/src/views/chart/chart/mix/mix.js
+++ b/core/frontend/src/views/chart/chart/mix/mix.js
@@ -65,7 +65,25 @@ export function baseMixOption(chart_option, chart) {
}
// label
if (customAttr.label) {
- y.label = customAttr.label
+ const { label } = customAttr
+ const mainLabel = {
+ show: label.show,
+ color: label.color,
+ position: label.position,
+ fontsize: label.fontSize,
+ formatter: label.formatter
+ }
+ let subLabel = {
+ show: label.subShow,
+ color: label.subColor,
+ position: label.subPosition,
+ fontSize: label.subFontSize,
+ formatter: label.subFormatter
+ }
+ if (label.subShow === undefined) {
+ subLabel = mainLabel
+ }
+ y.label = i >= yAxis.length ? subLabel : mainLabel
}
chart_option.legend.data.push(y.name)
i >= yAxis.length ? (y.yAxisIndex = 1) : (y.yAxisIndex = 0)
diff --git a/core/frontend/src/views/chart/chart/util.js b/core/frontend/src/views/chart/chart/util.js
index 75d1a07a40..ab3c792334 100644
--- a/core/frontend/src/views/chart/chart/util.js
+++ b/core/frontend/src/views/chart/chart/util.js
@@ -2519,11 +2519,18 @@ export const TYPE_CONFIGS = [
'mix'
],
'label-selector': [
+ 'mainLabel',
'show',
'fontSize',
'color',
'position-v',
- 'formatter'
+ 'formatter',
+ 'subLabel',
+ 'subShow',
+ 'subFontSize',
+ 'subColor',
+ 'sub-position-v',
+ 'subFormatter'
],
'tooltip-selector': [
'show',
diff --git a/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue b/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue
index e436a0032c..860bc93ba5 100644
--- a/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue
+++ b/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue
@@ -7,6 +7,12 @@
label-width="80px"
size="mini"
>
+