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