From 1ef9290b5401a9485ed0f9699e8d3ed2a559587e Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Tue, 19 May 2020 07:23:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=BD=B4=E7=BA=BF=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=AE=AD=E5=A4=B4=E6=97=B6=E7=9A=84=E8=BD=B4=E9=95=BF?= =?UTF-8?q?=E7=BB=98=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runtime/Internal/CoordinateChart.cs | 12 +++++++----- Runtime/Internal/Helper/AxisHelper.cs | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Runtime/Internal/CoordinateChart.cs b/Runtime/Internal/CoordinateChart.cs index cd65beea..f93b65c3 100644 --- a/Runtime/Internal/CoordinateChart.cs +++ b/Runtime/Internal/CoordinateChart.cs @@ -1083,11 +1083,12 @@ namespace XCharts { if (xAxis.show && xAxis.axisLine.show) { + var offset = AxisHelper.GetAxisLineSymbolOffset(xAxis); var lineY = m_CoordinateY + (xAxis.axisLine.onZero ? m_YAxises[xAxisIndex].runtimeZeroYOffset : 0); if (xAxis.IsValue() && xAxisIndex > 0) lineY += m_CoordinateHeight; var left = new Vector3(m_CoordinateX - xAxis.axisLine.width, lineY); - var top = new Vector3(m_CoordinateX + m_CoordinateWidth + xAxis.axisLine.width, lineY); - ChartDrawer.DrawLine(vh, left, top, xAxis.axisLine.width, m_ThemeInfo.axisLineColor); + var right = new Vector3(m_CoordinateX + m_CoordinateWidth + xAxis.axisLine.width + offset, lineY); + ChartDrawer.DrawLine(vh, left, right, xAxis.axisLine.width, m_ThemeInfo.axisLineColor); } } @@ -1095,11 +1096,12 @@ namespace XCharts { if (yAxis.show && yAxis.axisLine.show) { + var offset = AxisHelper.GetAxisLineSymbolOffset(yAxis); var lineX = m_CoordinateX + (yAxis.axisLine.onZero ? m_XAxises[yAxisIndex].runtimeZeroXOffset : 0); if (yAxis.IsValue() && yAxisIndex > 0) lineX += m_CoordinateWidth; - var top = new Vector3(lineX, m_CoordinateY + m_CoordinateHeight + yAxis.axisLine.width); - ChartDrawer.DrawLine(vh, new Vector3(lineX, m_CoordinateY - yAxis.axisLine.width), - top, yAxis.axisLine.width, m_ThemeInfo.axisLineColor); + var bottom = new Vector3(lineX, m_CoordinateY - yAxis.axisLine.width); + var top = new Vector3(lineX, m_CoordinateY + m_CoordinateHeight + yAxis.axisLine.width + offset); + ChartDrawer.DrawLine(vh, bottom, top, yAxis.axisLine.width, m_ThemeInfo.axisLineColor); } } diff --git a/Runtime/Internal/Helper/AxisHelper.cs b/Runtime/Internal/Helper/AxisHelper.cs index 6ee9e445..75d23db1 100644 --- a/Runtime/Internal/Helper/AxisHelper.cs +++ b/Runtime/Internal/Helper/AxisHelper.cs @@ -16,6 +16,20 @@ namespace XCharts return axis.axisTick.width != 0 ? axis.axisTick.width : axis.axisLine.width; } + /// + /// 包含箭头偏移的轴线长度 + /// + /// + /// + public static float GetAxisLineSymbolOffset(Axis axis) + { + if (axis.axisLine.show && axis.axisLine.symbol && axis.axisLine.symbolOffset > 0) + { + return axis.axisLine.symbolOffset; + } + return 0; + } + /// /// 获得分割段数 ///