修复PieChartavoidLabelOverlap参数不生效的问题

This commit is contained in:
monitor1394
2021-07-05 07:12:20 +08:00
parent 3907b82bc0
commit df5fa7807b
5 changed files with 14 additions and 11 deletions

View File

@@ -263,7 +263,7 @@ namespace XCharts
startDegree = serieData.runtimePieToAngle;
SerieLabelHelper.UpdatePieLabelPosition(serie, serieData);
}
SerieLabelHelper.AvoidLabelOverlap(serie);
SerieLabelHelper.AvoidLabelOverlap(serie, chart.theme.common);
}
private float GetTotalAngle(Serie serie, float dataTotal, ref float totalAngle)
@@ -566,6 +566,8 @@ namespace XCharts
{
if (serie.type != SerieType.Pie) return -1;
var dist = Vector2.Distance(local, serie.runtimeCenterPos);
var maxRadius = serie.runtimeOutsideRadius + 3 * chart.theme.serie.pieSelectedOffset;
if (dist < serie.runtimeInsideRadius || dist > maxRadius) return -1;
Vector2 dir = local - new Vector2(serie.runtimeCenterPos.x, serie.runtimeCenterPos.y);
float angle = ChartHelper.GetAngle360(Vector2.up, dir);
for (int i = 0; i < serie.data.Count; i++)

View File

@@ -259,7 +259,7 @@ namespace XCharts
chartText.text.raycastTarget = false;
#endif
chartText.SetColor(textStyle.GetColor(theme.textColor));
chartText.SetFontSize(textStyle.fontSize > 0 ? textStyle.fontSize : theme.fontSize);
chartText.SetFontSize(textStyle.GetFontSize(theme));
chartText.SetText("Text");
chartText.SetLineSpacing(textStyle.lineSpacing);