mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-30 05:08:48 +00:00
重构SerieSymbol的sizeFunction参数
This commit is contained in:
@@ -79,6 +79,7 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2025.02.05) 重构`SerieSymbol`的`sizeFunction`参数
|
||||||
* (2025.01.23) 修复`Treemap`的`Label`不显示的问题
|
* (2025.01.23) 修复`Treemap`的`Label`不显示的问题
|
||||||
* (2025.01.15) 修复`Chart`在运行时动态添加`Component`异常的问题 (#339)
|
* (2025.01.15) 修复`Chart`在运行时动态添加`Component`异常的问题 (#339)
|
||||||
* (2025.01.08) 修复`TextMeshPro`关闭时残留组件影响`Text`初始化的问题
|
* (2025.01.08) 修复`TextMeshPro`关闭时残留组件影响`Text`初始化的问题
|
||||||
|
|||||||
@@ -152,18 +152,16 @@ namespace XCharts.Runtime
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根据指定的sizeType获得标记的大小
|
/// 根据指定的sizeType获得标记的大小
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="data"></param>
|
public float GetSize(SerieData serieData, float themeSize)
|
||||||
/// <returns></returns>
|
|
||||||
public float GetSize(List<double> data, float themeSize)
|
|
||||||
{
|
{
|
||||||
switch (m_SizeType)
|
switch (m_SizeType)
|
||||||
{
|
{
|
||||||
case SymbolSizeType.Custom:
|
case SymbolSizeType.Custom:
|
||||||
return size == 0 ? themeSize : size;
|
return size == 0 ? themeSize : size;
|
||||||
case SymbolSizeType.FromData:
|
case SymbolSizeType.FromData:
|
||||||
if (data != null && dataIndex >= 0 && dataIndex < data.Count)
|
if (serieData != null && dataIndex >= 0 && dataIndex < serieData.data.Count)
|
||||||
{
|
{
|
||||||
var value = (float) data[dataIndex] * m_DataScale;
|
var value = (float) serieData.data[dataIndex] * m_DataScale;
|
||||||
if (m_MinSize != 0 && value < m_MinSize) value = m_MinSize;
|
if (m_MinSize != 0 && value < m_MinSize) value = m_MinSize;
|
||||||
if (m_MaxSize != 0 && value > m_MaxSize) value = m_MaxSize;
|
if (m_MaxSize != 0 && value > m_MaxSize) value = m_MaxSize;
|
||||||
return value;
|
return value;
|
||||||
@@ -173,7 +171,7 @@ namespace XCharts.Runtime
|
|||||||
return size == 0 ? themeSize : size;
|
return size == 0 ? themeSize : size;
|
||||||
}
|
}
|
||||||
case SymbolSizeType.Function:
|
case SymbolSizeType.Function:
|
||||||
if (data != null && sizeFunction != null) return sizeFunction(data);
|
if (sizeFunction != null) return sizeFunction(themeSize, serieData);
|
||||||
else return size == 0 ? themeSize : size;
|
else return size == 0 ? themeSize : size;
|
||||||
default:
|
default:
|
||||||
return size == 0 ? themeSize : size;
|
return size == 0 ? themeSize : size;
|
||||||
|
|||||||
@@ -18,9 +18,7 @@ namespace XCharts.Runtime
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取标记大小的回调。
|
/// 获取标记大小的回调。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="data"></param>
|
public delegate float SymbolSizeFunction(float defaultSize, SerieData serieData);
|
||||||
/// <returns></returns>
|
|
||||||
public delegate float SymbolSizeFunction(List<double> data);
|
|
||||||
public delegate void CustomDrawGaugePointerFunction(VertexHelper vh, int serieIndex, int dataIndex, float currentAngle);
|
public delegate void CustomDrawGaugePointerFunction(VertexHelper vh, int serieIndex, int dataIndex, float currentAngle);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DataZoom的start和end变更时的委托方法。
|
/// DataZoom的start和end变更时的委托方法。
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace XCharts.Runtime
|
|||||||
foreach (var serieData in serie.data)
|
foreach (var serieData in serie.data)
|
||||||
{
|
{
|
||||||
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
||||||
var symbolSize = symbol.GetSize(serieData.data, chart.theme.serie.lineSymbolSize);
|
var symbolSize = symbol.GetSize(serieData, chart.theme.serie.lineSymbolSize);
|
||||||
serieData.context.highlight = false;
|
serieData.context.highlight = false;
|
||||||
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace XCharts.Runtime
|
|||||||
foreach (var serieData in serie.data)
|
foreach (var serieData in serie.data)
|
||||||
{
|
{
|
||||||
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
||||||
var symbolSize = symbol.GetSize(serieData.data, chart.theme.serie.lineSymbolSize);
|
var symbolSize = symbol.GetSize(serieData, chart.theme.serie.lineSymbolSize);
|
||||||
serieData.context.highlight = false;
|
serieData.context.highlight = false;
|
||||||
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace XCharts.Runtime
|
|||||||
foreach (var serieData in serie.data)
|
foreach (var serieData in serie.data)
|
||||||
{
|
{
|
||||||
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
||||||
var symbolSize = symbol.GetSize(serieData.data, chart.theme.serie.lineSymbolSize);
|
var symbolSize = symbol.GetSize(serieData, chart.theme.serie.lineSymbolSize);
|
||||||
serieData.context.highlight = false;
|
serieData.context.highlight = false;
|
||||||
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ namespace XCharts.Runtime
|
|||||||
foreach (var serieData in serie.data)
|
foreach (var serieData in serie.data)
|
||||||
{
|
{
|
||||||
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
||||||
var symbolSize = symbol.GetSize(serieData.data, chart.theme.serie.lineSymbolSize);
|
var symbolSize = symbol.GetSize(serieData, chart.theme.serie.lineSymbolSize);
|
||||||
serieData.context.highlight = false;
|
serieData.context.highlight = false;
|
||||||
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
serieData.interact.SetValue(ref needAnimation1, symbolSize);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace XCharts.Runtime
|
|||||||
{
|
{
|
||||||
var serieData = serie.data[i];
|
var serieData = serie.data[i];
|
||||||
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
var symbol = SerieHelper.GetSerieSymbol(serie, serieData);
|
||||||
var symbolSize = symbol.GetSize(serieData.data, chart.theme.serie.lineSymbolSize);
|
var symbolSize = symbol.GetSize(serieData, chart.theme.serie.lineSymbolSize);
|
||||||
if (m_LegendEnter)
|
if (m_LegendEnter)
|
||||||
{
|
{
|
||||||
serieData.context.highlight = true;
|
serieData.context.highlight = true;
|
||||||
|
|||||||
@@ -705,7 +705,7 @@ namespace XCharts.Runtime
|
|||||||
if (stateStyle == null)
|
if (stateStyle == null)
|
||||||
{
|
{
|
||||||
var symbol = GetSerieSymbol(serie, serieData, SerieState.Normal);
|
var symbol = GetSerieSymbol(serie, serieData, SerieState.Normal);
|
||||||
size = symbol.GetSize(serieData == null ? null : serieData.data, defaultSize);
|
size = symbol.GetSize(serieData, defaultSize);
|
||||||
switch (state)
|
switch (state)
|
||||||
{
|
{
|
||||||
case SerieState.Emphasis:
|
case SerieState.Emphasis:
|
||||||
@@ -719,7 +719,7 @@ namespace XCharts.Runtime
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var symbol = stateStyle.symbol;
|
var symbol = stateStyle.symbol;
|
||||||
size = symbol.GetSize(serieData == null ? null : serieData.data, defaultSize);
|
size = symbol.GetSize(serieData, defaultSize);
|
||||||
}
|
}
|
||||||
if (serieData != null && checkAnimation)
|
if (serieData != null && checkAnimation)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user