diff --git a/core/core-frontend/src/models/chart/chart-attr.d.ts b/core/core-frontend/src/models/chart/chart-attr.d.ts
index 19117984b1..35ff617b66 100644
--- a/core/core-frontend/src/models/chart/chart-attr.d.ts
+++ b/core/core-frontend/src/models/chart/chart-attr.d.ts
@@ -229,6 +229,10 @@ declare interface ChartBasicStyle {
* 其他项的标签
*/
topNLabel: string
+ /**
+ * 对称柱状图方向
+ */
+ layout: 'horizontal' | 'vertical'
}
/**
* 表头属性
diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/BasicStyleSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/BasicStyleSelector.vue
index 84c408f447..18a3b5da59 100644
--- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/BasicStyleSelector.vue
+++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/BasicStyleSelector.vue
@@ -202,6 +202,23 @@ onMounted(() => {
+
+
+ {{ t('chart.horizontal') }}
+ {{ t('chart.vertical') }}
+
+
+
{
const tmp = hexColorToRGBA(ele, basicStyle.alpha)
- return setGradientColor(tmp, true, 180 - index * 180)
+ let angle = 180 - index * 180
+ // 垂直固定角度
+ if (basicStyle.layout === 'vertical') {
+ if (index === 0) {
+ angle = 280
+ }
+ if (index === 1) {
+ angle = 90
+ }
+ }
+ return setGradientColor(tmp, true, angle)
})
options = {
...options,
color
}
}
+ options = {
+ ...options,
+ layout: basicStyle.layout
+ }
return options
}
@@ -351,7 +365,7 @@ export class BidirectionalHorizontalBar extends G2PlotChartView<
if (l.show) {
label = {
position: l.position,
- layout: [{ type: 'limit-in-canvas' }],
+ layout: [{ type: 'fixed-overlap' }],
style: {
fill: l.color,
fontSize: l.fontSize