mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-31 05:48:45 +00:00
修复Pie在最后的几个数据都为0时Label显示不正常的问题 (#240)
This commit is contained in:
@@ -65,6 +65,7 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2023.01.06) 修复`Pie`在最后的几个数据都为0时`Label`显示不正常的问题 (#240)
|
||||||
* (2023.01.03) 删除`Serie`的`MarkColor`,增加`ItemStyle`的`MarkColor`
|
* (2023.01.03) 删除`Serie`的`MarkColor`,增加`ItemStyle`的`MarkColor`
|
||||||
* (2022.12.29) 增加`Editor`对`List`的`+`添加编辑功能
|
* (2022.12.29) 增加`Editor`对`List`的`+`添加编辑功能
|
||||||
* (2022.12.29) 修复`UpdateXYData()`接口影响数据精度的问题 (#238)
|
* (2022.12.29) 修复`UpdateXYData()`接口影响数据精度的问题 (#238)
|
||||||
|
|||||||
@@ -217,7 +217,9 @@ namespace XCharts.Runtime
|
|||||||
{
|
{
|
||||||
var currAngle = serieData.context.halfAngle;
|
var currAngle = serieData.context.halfAngle;
|
||||||
var offset = labelLine.lineLength2 + serieData.labelObject.GetTextWidth() / 2;
|
var offset = labelLine.lineLength2 + serieData.labelObject.GetTextWidth() / 2;
|
||||||
if ((currAngle - serie.context.startAngle) % 360 > 180)
|
var angle = (currAngle - serie.context.startAngle) % 360;
|
||||||
|
var isLeft = angle > 180 || (angle == 0 && serieData.context.startAngle > 0);
|
||||||
|
if (isLeft)
|
||||||
return serieData.context.labelPosition + new Vector3(-offset, 0, 0);
|
return serieData.context.labelPosition + new Vector3(-offset, 0, 0);
|
||||||
else
|
else
|
||||||
return serieData.context.labelPosition + new Vector3(offset, 0, 0);
|
return serieData.context.labelPosition + new Vector3(offset, 0, 0);
|
||||||
|
|||||||
@@ -491,8 +491,9 @@ namespace XCharts.Runtime
|
|||||||
pos6 = pos0 + Vector3.left * lineCircleDiff;
|
pos6 = pos0 + Vector3.left * lineCircleDiff;
|
||||||
pos4 = pos6 + Vector3.left * r4;
|
pos4 = pos6 + Vector3.left * r4;
|
||||||
}
|
}
|
||||||
var pos5X = (currAngle - startAngle) % 360 > 180 ?
|
var diffAngle = (currAngle - startAngle) % 360;
|
||||||
pos2.x - labelLine.lineLength2 : pos2.x + labelLine.lineLength2;
|
var isLeft = diffAngle > 180 || (diffAngle == 0 && serieData.context.startAngle > 0);
|
||||||
|
var pos5X = isLeft?pos2.x - labelLine.lineLength2 : pos2.x + labelLine.lineLength2;
|
||||||
var pos5 = new Vector3(pos5X, pos2.y);
|
var pos5 = new Vector3(pos5X, pos2.y);
|
||||||
var angle = Vector3.Angle(pos1 - center, pos2 - pos1);
|
var angle = Vector3.Angle(pos1 - center, pos2 - pos1);
|
||||||
if (angle > 15)
|
if (angle > 15)
|
||||||
|
|||||||
Reference in New Issue
Block a user