[improve][axis] support showStartLine and showEndLine in AngleAxis and RadiusAxis

This commit is contained in:
monitor1394
2022-09-21 06:59:34 +08:00
parent ae35a4d7e6
commit f0d6316c20
2 changed files with 6 additions and 3 deletions

View File

@@ -120,8 +120,11 @@ namespace XCharts.Runtime
var pos2 = ChartHelper.GetPos(cenPos, polar.context.outsideRadius, currAngle, true); var pos2 = ChartHelper.GetPos(cenPos, polar.context.outsideRadius, currAngle, true);
if (angleAxis.show && angleAxis.splitLine.show) if (angleAxis.show && angleAxis.splitLine.show)
{ {
var lineWidth = angleAxis.splitLine.GetWidth(chart.theme.axis.splitLineWidth); if (angleAxis.splitLine.NeedShow(i - 1, size - 1))
UGL.DrawLine(vh, pos1, pos2, lineWidth, splitLineColor); {
var lineWidth = angleAxis.splitLine.GetWidth(chart.theme.axis.splitLineWidth);
UGL.DrawLine(vh, pos1, pos2, lineWidth, splitLineColor);
}
} }
if (angleAxis.show && angleAxis.axisTick.show) if (angleAxis.show && angleAxis.axisTick.show)
{ {

View File

@@ -167,7 +167,7 @@ namespace XCharts.Runtime
var pos = ChartHelper.GetPos(cenPos, totalWidth + tickWidth, startAngle, true); var pos = ChartHelper.GetPos(cenPos, totalWidth + tickWidth, startAngle, true);
if (radiusAxis.show && radiusAxis.splitLine.show) if (radiusAxis.show && radiusAxis.splitLine.show)
{ {
if (CanDrawSplitLine(angleAxis, i, size)) if (CanDrawSplitLine(angleAxis, i, size) && radiusAxis.splitLine.NeedShow(i, size))
{ {
var outsideRaidus = totalWidth + radiusAxis.splitLine.GetWidth(chart.theme.axis.splitLineWidth) * 2; var outsideRaidus = totalWidth + radiusAxis.splitLine.GetWidth(chart.theme.axis.splitLineWidth) * 2;
var splitLineColor = radiusAxis.splitLine.GetColor(chart.theme.axis.splitLineColor); var splitLineColor = radiusAxis.splitLine.GetColor(chart.theme.axis.splitLineColor);