增加AxisLabelshowZeroLabel设置是否显示0刻度

This commit is contained in:
monitor1394
2025-04-15 22:51:59 +08:00
parent ccf815c853
commit 21ffcba0c0
10 changed files with 46 additions and 14 deletions

View File

@@ -447,13 +447,17 @@ namespace XCharts
return Math.Pow(10, n);
}
internal void CheckValueLabelActive(Axis axis, int i, ChartLabel label, Vector3 pos)
internal void CheckValueLabelActive(Axis axis, int i, ChartLabel label, Vector3 pos, string content = null)
{
if (!axis.show || !axis.axisLabel.show)
{
label.SetTextActive(false);
return;
}
if(content == null)
{
content = label.text.text.text;
}
if (axis.IsValue())
{
if (orient == Orient.Horizonal)
@@ -461,12 +465,12 @@ namespace XCharts
if (i == 0)
{
var dist = GetLabelPosition(0, 1).x - pos.x;
label.SetTextActive(axis.IsNeedShowLabel(i) && dist > label.text.GetPreferredWidth());
label.SetTextActive(axis.IsNeedShowLabel(i,0,content) && dist > label.text.GetPreferredWidth());
}
else if (i == axis.context.labelValueList.Count - 1)
{
var dist = pos.x - GetLabelPosition(0, i - 1).x;
label.SetTextActive(axis.IsNeedShowLabel(i) && dist > label.text.GetPreferredWidth());
label.SetTextActive(axis.IsNeedShowLabel(i,0,content) && dist > label.text.GetPreferredWidth());
}
}
else
@@ -474,12 +478,12 @@ namespace XCharts
if (i == 0)
{
var dist = GetLabelPosition(0, 1).y - pos.y;
label.SetTextActive(axis.IsNeedShowLabel(i) && dist > label.text.GetPreferredHeight());
label.SetTextActive(axis.IsNeedShowLabel(i,0,content) && dist > label.text.GetPreferredHeight());
}
else if (i == axis.context.labelValueList.Count - 1)
{
var dist = pos.y - GetLabelPosition(0, i - 1).y;
label.SetTextActive(axis.IsNeedShowLabel(i) && dist > label.text.GetPreferredHeight());
label.SetTextActive(axis.IsNeedShowLabel(i,0,content) && dist > label.text.GetPreferredHeight());
}
}
}
@@ -683,7 +687,7 @@ namespace XCharts
var pos = GetLabelPosition(totalWidth + gapWidth, i);
label.SetPosition(pos);
CheckValueLabelActive(axis, i, label, pos);
CheckValueLabelActive(axis, i, label, pos, labelName);
axis.context.labelObjectList.Add(label);