mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-27 11:40:13 +00:00
优化轴线显示箭头时的轴长绘制
This commit is contained in:
@@ -1083,11 +1083,12 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
if (xAxis.show && xAxis.axisLine.show)
|
if (xAxis.show && xAxis.axisLine.show)
|
||||||
{
|
{
|
||||||
|
var offset = AxisHelper.GetAxisLineSymbolOffset(xAxis);
|
||||||
var lineY = m_CoordinateY + (xAxis.axisLine.onZero ? m_YAxises[xAxisIndex].runtimeZeroYOffset : 0);
|
var lineY = m_CoordinateY + (xAxis.axisLine.onZero ? m_YAxises[xAxisIndex].runtimeZeroYOffset : 0);
|
||||||
if (xAxis.IsValue() && xAxisIndex > 0) lineY += m_CoordinateHeight;
|
if (xAxis.IsValue() && xAxisIndex > 0) lineY += m_CoordinateHeight;
|
||||||
var left = new Vector3(m_CoordinateX - xAxis.axisLine.width, lineY);
|
var left = new Vector3(m_CoordinateX - xAxis.axisLine.width, lineY);
|
||||||
var top = new Vector3(m_CoordinateX + m_CoordinateWidth + xAxis.axisLine.width, lineY);
|
var right = new Vector3(m_CoordinateX + m_CoordinateWidth + xAxis.axisLine.width + offset, lineY);
|
||||||
ChartDrawer.DrawLine(vh, left, top, xAxis.axisLine.width, m_ThemeInfo.axisLineColor);
|
ChartDrawer.DrawLine(vh, left, right, xAxis.axisLine.width, m_ThemeInfo.axisLineColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1095,11 +1096,12 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
if (yAxis.show && yAxis.axisLine.show)
|
if (yAxis.show && yAxis.axisLine.show)
|
||||||
{
|
{
|
||||||
|
var offset = AxisHelper.GetAxisLineSymbolOffset(yAxis);
|
||||||
var lineX = m_CoordinateX + (yAxis.axisLine.onZero ? m_XAxises[yAxisIndex].runtimeZeroXOffset : 0);
|
var lineX = m_CoordinateX + (yAxis.axisLine.onZero ? m_XAxises[yAxisIndex].runtimeZeroXOffset : 0);
|
||||||
if (yAxis.IsValue() && yAxisIndex > 0) lineX += m_CoordinateWidth;
|
if (yAxis.IsValue() && yAxisIndex > 0) lineX += m_CoordinateWidth;
|
||||||
var top = new Vector3(lineX, m_CoordinateY + m_CoordinateHeight + yAxis.axisLine.width);
|
var bottom = new Vector3(lineX, m_CoordinateY - yAxis.axisLine.width);
|
||||||
ChartDrawer.DrawLine(vh, new Vector3(lineX, m_CoordinateY - yAxis.axisLine.width),
|
var top = new Vector3(lineX, m_CoordinateY + m_CoordinateHeight + yAxis.axisLine.width + offset);
|
||||||
top, yAxis.axisLine.width, m_ThemeInfo.axisLineColor);
|
ChartDrawer.DrawLine(vh, bottom, top, yAxis.axisLine.width, m_ThemeInfo.axisLineColor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,20 @@ namespace XCharts
|
|||||||
return axis.axisTick.width != 0 ? axis.axisTick.width : axis.axisLine.width;
|
return axis.axisTick.width != 0 ? axis.axisTick.width : axis.axisLine.width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 包含箭头偏移的轴线长度
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="axis"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static float GetAxisLineSymbolOffset(Axis axis)
|
||||||
|
{
|
||||||
|
if (axis.axisLine.show && axis.axisLine.symbol && axis.axisLine.symbolOffset > 0)
|
||||||
|
{
|
||||||
|
return axis.axisLine.symbolOffset;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获得分割段数
|
/// 获得分割段数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user