From b98f4981b3380485643f4895dc1d2bfa7a366d3c Mon Sep 17 00:00:00 2001 From: jianneng-fit2cloud Date: Tue, 3 Sep 2024 19:46:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8-=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=8A=98=E7=BA=BF=E5=9B=BE):=20=E4=BF=AE=E5=A4=8D=E5=AD=90?= =?UTF-8?q?=E7=B1=BB=E5=88=AB=E8=87=AA=E5=AE=9A=E4=B9=89=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E6=97=A0=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/js/panel/charts/line/line.ts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts b/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts index 737a121a6c..4e02cd6a35 100644 --- a/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts +++ b/core/core-frontend/src/views/chart/components/js/panel/charts/line/line.ts @@ -286,6 +286,45 @@ export class Line extends G2PlotChartView { public setupSeriesColor(chart: ChartObj, data?: any[]): ChartBasicStyle['seriesColor'] { return setUpGroupSeriesColor(chart, data) } + protected configLegend(chart: Chart, options: LineOptions): LineOptions { + const optionTmp = super.configLegend(chart, options) + const xAxisExt = chart.xAxisExt + if (!optionTmp.legend || xAxisExt.length === 0 || xAxisExt[0].customSort.length === 0) { + return optionTmp + } + // 图例自定义排序 + const l = optionTmp.legend + const basicStyle = parseJson(chart.customAttr).basicStyle + const sort = xAxisExt[0].customSort ?? [] + const legendItems = [] + sort.forEach((item, index) => { + legendItems.push({ + name: item, + value: item, + marker: { + spacing: 13, + symbol: l.marker.symbol, + style: { + r: 6, + fill: 'rgba(0,0,0,0)', + lineWidth: 2, + lineJoin: 'round', + stroke: basicStyle.colors[index] + } + } + }) + }) + const legend = { + ...l, + itemHeight: l.itemHeight + 4, + custom: true, + items: legendItems + } + return { + ...optionTmp, + legend + } + } protected setupOptions(chart: Chart, options: LineOptions): LineOptions { return flow( this.configTheme,