mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-31 05:48:45 +00:00
优化Label显示体验
This commit is contained in:
@@ -75,6 +75,7 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2024.07.12) 优化`Label`显示体验
|
||||||
* (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323)
|
* (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323)
|
||||||
|
|
||||||
## v3.11.1
|
## v3.11.1
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.context.start + offset);
|
label.SetPosition(axis.context.start + offset);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -463,7 +463,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition((axis.context.start + axis.context.end) / 2 + offset);
|
label.SetPosition((axis.context.start + axis.context.end) / 2 + offset);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -471,7 +471,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.context.end + offset);
|
label.SetPosition(axis.context.end + offset);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -574,7 +574,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleRight);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleRight);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
||||||
new Vector2(zeroPos.x - offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
|
new Vector2(zeroPos.x - offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
|
||||||
new Vector2(zeroPos.x - offset.x, posY + offset.y));
|
new Vector2(zeroPos.x - offset.x, posY + offset.y));
|
||||||
@@ -584,7 +584,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
||||||
new Vector2(axisStartX + axisLength / 2 + offset.x, axisStartY + relativedLength - offset.y + axis.offset) :
|
new Vector2(axisStartX + axisLength / 2 + offset.x, axisStartY + relativedLength - offset.y + axis.offset) :
|
||||||
new Vector2(axisStartX + axisLength / 2 + offset.x, posY + offset.y));
|
new Vector2(axisStartX + axisLength / 2 + offset.x, posY + offset.y));
|
||||||
@@ -594,7 +594,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleLeft);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleLeft);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Top ?
|
||||||
new Vector2(axisStartX + axisLength + offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
|
new Vector2(axisStartX + axisLength + offset.x, axisStartY + relativedLength + offset.y + axis.offset) :
|
||||||
new Vector2(axisStartX + axisLength + offset.x, posY + offset.y));
|
new Vector2(axisStartX + axisLength + offset.x, posY + offset.y));
|
||||||
@@ -611,7 +611,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
||||||
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY - offset.y) :
|
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY - offset.y) :
|
||||||
new Vector2(posX + offset.x, axisStartY - offset.y));
|
new Vector2(posX + offset.x, axisStartY - offset.y));
|
||||||
@@ -621,7 +621,7 @@ namespace XCharts
|
|||||||
|
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
||||||
new Vector2(axisStartX + relativedLength - offset.x + axis.offset, axisStartY + axisLength / 2 + offset.y) :
|
new Vector2(axisStartX + relativedLength - offset.x + axis.offset, axisStartY + axisLength / 2 + offset.y) :
|
||||||
new Vector2(posX + offset.x, axisStartY + axisLength / 2 + offset.y));
|
new Vector2(posX + offset.x, axisStartY + axisLength / 2 + offset.y));
|
||||||
@@ -631,7 +631,7 @@ namespace XCharts
|
|||||||
//LabelStyle.Position
|
//LabelStyle.Position
|
||||||
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
label = ChartHelper.AddChartLabel(s_DefaultAxisName, axisObj.transform, axis.axisName.labelStyle,
|
||||||
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
chart.theme.axis, axis.axisName.name, autoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(axis.axisName.labelStyle.show);
|
label.SetActive(axis.axisName.labelStyle.show, true);
|
||||||
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
label.SetPosition(axis.position == Axis.AxisPosition.Right ?
|
||||||
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY + axisLength + offset.y) :
|
new Vector2(axisStartX + relativedLength + offset.x + axis.offset, axisStartY + axisLength + offset.y) :
|
||||||
new Vector2(posX + offset.x, axisStartY + axisLength + offset.y));
|
new Vector2(posX + offset.x, axisStartY + axisLength + offset.y));
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ namespace XCharts.Runtime
|
|||||||
label.text.SetAlignment(textStyle.GetAlignment(TextAnchor.MiddleCenter));
|
label.text.SetAlignment(textStyle.GetAlignment(TextAnchor.MiddleCenter));
|
||||||
label.SetText(labelName);
|
label.SetText(labelName);
|
||||||
label.SetPosition(GetLabelPosition(polar, axis, angleAxis.context.startAngle, totalWidth));
|
label.SetPosition(GetLabelPosition(polar, axis, angleAxis.context.startAngle, totalWidth));
|
||||||
label.SetActive(true);
|
label.SetActive(true, true);
|
||||||
label.SetTextActive(true);
|
label.SetTextActive(true);
|
||||||
|
|
||||||
axis.context.labelObjectList.Add(label);
|
axis.context.labelObjectList.Add(label);
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ namespace XCharts.Runtime
|
|||||||
var labelPos = chart.chartPosition + item.location.GetPosition(chart.chartWidth, chart.chartHeight);
|
var labelPos = chart.chartPosition + item.location.GetPosition(chart.chartWidth, chart.chartHeight);
|
||||||
var label = ChartHelper.AddChartLabel(s_CommentObjectName + i, commentObj.transform, labelStyle, chart.theme.common,
|
var label = ChartHelper.AddChartLabel(s_CommentObjectName + i, commentObj.transform, labelStyle, chart.theme.common,
|
||||||
GetContent(item), Color.clear, TextAnchor.MiddleCenter);
|
GetContent(item), Color.clear, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(comment.show && item.show);
|
label.SetActive(comment.show && item.show, true);
|
||||||
label.SetPosition(labelPos);
|
label.SetPosition(labelPos);
|
||||||
label.text.SetLocalPosition(labelStyle.offset);
|
label.text.SetLocalPosition(labelStyle.offset);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
var label = ChartHelper.AddChartLabel("content", btnObj.transform, legend.labelStyle, theme.legend,
|
var label = ChartHelper.AddChartLabel("content", btnObj.transform, legend.labelStyle, theme.legend,
|
||||||
content, contentColor, TextAnchor.MiddleLeft);
|
content, contentColor, TextAnchor.MiddleLeft);
|
||||||
label.SetActive(true);
|
label.SetActive(true, true);
|
||||||
|
|
||||||
var item = new LegendItem();
|
var item = new LegendItem();
|
||||||
item.index = i;
|
item.index = i;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace XCharts.Runtime
|
|||||||
var label = ChartHelper.AddChartLabel("label", m_MarkLineLabelRoot.transform, markArea.label, chart.theme.axis,
|
var label = ChartHelper.AddChartLabel("label", m_MarkLineLabelRoot.transform, markArea.label, chart.theme.axis,
|
||||||
component.text, Color.clear, TextAnchor.MiddleCenter);
|
component.text, Color.clear, TextAnchor.MiddleCenter);
|
||||||
UpdateRuntimeData(component);
|
UpdateRuntimeData(component);
|
||||||
label.SetActive(markArea.label.show);
|
label.SetActive(markArea.label.show, true);
|
||||||
label.SetPosition(component.runtimeLabelPosition);
|
label.SetPosition(component.runtimeLabelPosition);
|
||||||
label.SetText(component.text);
|
label.SetText(component.text);
|
||||||
markArea.runtimeLabel = label;
|
markArea.runtimeLabel = label;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
var label = ChartHelper.AddChartLabel(objName, radarObject.transform, radar.axisName.labelStyle,
|
var label = ChartHelper.AddChartLabel(objName, radarObject.transform, radar.axisName.labelStyle,
|
||||||
chart.theme.common, radar.GetFormatterIndicatorContent(i), Color.clear, TextAnchor.MiddleCenter);
|
chart.theme.common, radar.GetFormatterIndicatorContent(i), Color.clear, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(radar.axisName.show && radar.indicator && radar.axisName.labelStyle.show);
|
label.SetActive(radar.axisName.show && radar.indicator && radar.axisName.labelStyle.show, true);
|
||||||
AxisHelper.AdjustCircleLabelPos(label, pos, radar.context.center, txtHig, radar.axisName.labelStyle.offset);
|
AxisHelper.AdjustCircleLabelPos(label, pos, radar.context.center, txtHig, radar.axisName.labelStyle.offset);
|
||||||
}
|
}
|
||||||
chart.RefreshBasePainter();
|
chart.RefreshBasePainter();
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ namespace XCharts.Runtime
|
|||||||
{
|
{
|
||||||
if (label == null) return;
|
if (label == null) return;
|
||||||
if (double.IsNaN(axis.context.pointerValue)) return;
|
if (double.IsNaN(axis.context.pointerValue)) return;
|
||||||
label.SetActive(true);
|
label.SetActive(true, true);
|
||||||
label.SetTextActive(true);
|
label.SetTextActive(true);
|
||||||
label.SetPosition(axis.context.pointerLabelPosition + axis.indicatorLabel.offset);
|
label.SetPosition(axis.context.pointerLabelPosition + axis.indicatorLabel.offset);
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ namespace XCharts.Runtime
|
|||||||
{
|
{
|
||||||
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.common,
|
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.common,
|
||||||
"", color, TextAnchor.MiddleCenter);
|
"", color, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(labelStyle.show);
|
label.SetActive(labelStyle.show, true);
|
||||||
return label.gameObject;
|
return label.gameObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -555,7 +555,7 @@ namespace XCharts.Runtime
|
|||||||
{
|
{
|
||||||
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.tooltip,
|
var label = ChartHelper.AddChartLabel(name, parent, labelStyle, theme.tooltip,
|
||||||
"", Color.clear, alignment);
|
"", Color.clear, alignment);
|
||||||
label.SetActive(tooltip.show && labelStyle.show);
|
label.SetActive(tooltip.show && labelStyle.show, true);
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -368,7 +368,7 @@ namespace XCharts.Runtime
|
|||||||
var textName = string.Format("{0}_{1}_{2}_{3}", s_SerieLabelObjectName, serie.index, serieData.index, i);
|
var textName = string.Format("{0}_{1}_{2}_{3}", s_SerieLabelObjectName, serie.index, serieData.index, i);
|
||||||
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
|
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
|
||||||
"", dataAutoColor, TextAnchor.MiddleCenter);
|
"", dataAutoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(false);
|
label.SetActive(false, true);
|
||||||
serieData.context.dataLabels.Add(label);
|
serieData.context.dataLabels.Add(label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -377,7 +377,7 @@ namespace XCharts.Runtime
|
|||||||
var textName = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, serie.index, serieData.index);
|
var textName = ChartCached.GetSerieLabelName(s_SerieLabelObjectName, serie.index, serieData.index);
|
||||||
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
|
var label = ChartHelper.AddChartLabel(textName, serieLabelRoot.transform, serieLabel, chart.theme.common,
|
||||||
"", dataAutoColor, TextAnchor.MiddleCenter);
|
"", dataAutoColor, TextAnchor.MiddleCenter);
|
||||||
label.SetActive(false);
|
label.SetActive(false, true);
|
||||||
serieData.labelObject = label;
|
serieData.labelObject = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -441,7 +441,7 @@ namespace XCharts.Runtime
|
|||||||
var label = ChartHelper.AddChartLabel("title_" + 0, serieTitleRoot.transform, titleStyle, chart.theme.common,
|
var label = ChartHelper.AddChartLabel("title_" + 0, serieTitleRoot.transform, titleStyle, chart.theme.common,
|
||||||
content, color, TextAnchor.MiddleCenter);
|
content, color, TextAnchor.MiddleCenter);
|
||||||
serie.context.titleObject = label;
|
serie.context.titleObject = label;
|
||||||
label.SetActive(titleStyle.show);
|
label.SetActive(titleStyle.show, true);
|
||||||
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
|
var labelPosition = GetSerieDataTitlePosition(null, titleStyle);
|
||||||
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
label.SetPosition(labelPosition + offset);
|
label.SetPosition(labelPosition + offset);
|
||||||
@@ -468,7 +468,7 @@ namespace XCharts.Runtime
|
|||||||
var label = ChartHelper.AddChartLabel("title_" + i, serieTitleRoot.transform, titleStyle, chart.theme.common,
|
var label = ChartHelper.AddChartLabel("title_" + i, serieTitleRoot.transform, titleStyle, chart.theme.common,
|
||||||
content, color, TextAnchor.MiddleCenter);
|
content, color, TextAnchor.MiddleCenter);
|
||||||
serieData.titleObject = label;
|
serieData.titleObject = label;
|
||||||
label.SetActive(titleStyle.show);
|
label.SetActive(titleStyle.show, true);
|
||||||
var labelPosition = GetSerieDataTitlePosition(serieData, titleStyle);
|
var labelPosition = GetSerieDataTitlePosition(serieData, titleStyle);
|
||||||
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
label.SetPosition(labelPosition + offset);
|
label.SetPosition(labelPosition + offset);
|
||||||
|
|||||||
Reference in New Issue
Block a user