mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-22 08:50:10 +00:00
修复Ring的TriggerTooltip()接口无效的问题
This commit is contained in:
@@ -340,7 +340,7 @@ slug: /api
|
||||
|SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 |
|
||||
|SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 |
|
||||
|SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex)<br/>trigger tooltip by data index. |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex, int serieIndex = 0)<br/>trigger tooltip by data index. |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>trigger tooltip by chart local position. |
|
||||
|TryAddChartComponent()||public bool TryAddChartComponent(Type type)|
|
||||
|TryAddChartComponent<T>()||public bool TryAddChartComponent<T>() where T : MainComponent|
|
||||
|
||||
@@ -340,7 +340,7 @@ slug: /api
|
||||
|SetSeriePainterMaterial()||public void SetSeriePainterMaterial(Material material)<br/>设置Serie Painter的材质球 |
|
||||
|SetTopPainterMaterial()||public void SetTopPainterMaterial(Material material)<br/>设置Top Painter的材质球 |
|
||||
|SetUpperPainterMaterial()||public void SetUpperPainterMaterial(Material material)<br/>设置Upper Painter的材质球 |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex)<br/>尝试触发指定数据项的Tooltip. |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(int dataIndex, int serieIndex = 0)<br/>尝试触发指定数据项的Tooltip. |
|
||||
|TriggerTooltip()|v3.7.0|public bool TriggerTooltip(Vector3 localPosition)<br/>在指定的位置尝试触发Tooltip. |
|
||||
|TryAddChartComponent()||public bool TryAddChartComponent(Type type)|
|
||||
|TryAddChartComponent<T>()||public bool TryAddChartComponent<T>() where T : MainComponent|
|
||||
|
||||
@@ -68,6 +68,7 @@ slug: /changelog
|
||||
|
||||
## master
|
||||
|
||||
* (2023.09.05) 修复`Ring`的`TriggerTooltip()`接口无效的问题
|
||||
* (2023.09.05) 修复`Radar`数据全为0时绘制报错的问题
|
||||
|
||||
## v3.8.0
|
||||
|
||||
@@ -671,11 +671,12 @@ namespace XCharts.Runtime
|
||||
/// |尝试触发指定数据项的Tooltip.
|
||||
/// </summary>
|
||||
/// <param name="dataIndex">数据项索引</param>
|
||||
/// <param name="serieIndex">Serie索引,默认为第0个Serie</param>
|
||||
/// <returns></returns>
|
||||
[Since("v3.7.0")]
|
||||
public bool TriggerTooltip(int dataIndex)
|
||||
public bool TriggerTooltip(int dataIndex, int serieIndex = 0)
|
||||
{
|
||||
var serie = GetSerie(0);
|
||||
var serie = GetSerie(serieIndex);
|
||||
if (serie == null) return false;
|
||||
var dataPoints = serie.context.dataPoints;
|
||||
var dataPoint = Vector3.zero;
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace XCharts.Runtime
|
||||
param.color = color;
|
||||
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
||||
param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
||||
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter); ;
|
||||
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
||||
param.columns.Clear();
|
||||
|
||||
param.columns.Add(param.marker);
|
||||
@@ -111,7 +111,7 @@ namespace XCharts.Runtime
|
||||
|
||||
private Vector3 GetLabelLineEndPosition(Serie serie, SerieData serieData, LabelLine labelLine)
|
||||
{
|
||||
if (labelLine == null || !labelLine.show)
|
||||
if (labelLine == null || !labelLine.show)
|
||||
return serieData.context.labelLinePosition;
|
||||
var isRight = !serie.clockwise;
|
||||
var dire = isRight ? Vector3.right : Vector3.left;
|
||||
@@ -207,10 +207,13 @@ namespace XCharts.Runtime
|
||||
var startDegree = GetStartAngle(serie);
|
||||
var toDegree = GetToAngle(serie, degree);
|
||||
var insideRadius = outsideRadius - ringWidth;
|
||||
var halfAngle = startDegree + (toDegree - startDegree) / 2;
|
||||
var halfRadius = (outsideRadius + insideRadius) / 2;
|
||||
serieData.context.startAngle = startDegree;
|
||||
serieData.context.toAngle = toDegree;
|
||||
serieData.context.insideRadius = insideRadius;
|
||||
serieData.context.outsideRadius = serieData.radius > 0 ? serieData.radius : outsideRadius;
|
||||
serieData.context.position = ChartHelper.GetPosition(serie.context.center, halfAngle, halfRadius);
|
||||
UpdateLabelPosition(serieData);
|
||||
}
|
||||
AvoidLabelOverlap();
|
||||
|
||||
Reference in New Issue
Block a user