mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-25 02:10:16 +00:00
[feature] 增加Serie的markColor可设置标识颜色用于Legend和Tooltip的展示 (#229)
This commit is contained in:
@@ -59,6 +59,7 @@
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2022.10.29) 增加`Serie`的`markColor`可设置标识颜色用于`Legend`和`Tooltip`的展示 (#229)
|
||||||
* (2022.10.26) 增加`RadarCoord`的`startAngle`可设置`Radar`起始角度
|
* (2022.10.26) 增加`RadarCoord`的`startAngle`可设置`Radar`起始角度
|
||||||
* (2022.10.21) 修复`Chart`在受`Layout`控制时`Label`显示不正常的问题 (#231)
|
* (2022.10.21) 修复`Chart`在受`Layout`控制时`Label`显示不正常的问题 (#231)
|
||||||
* (2022.10.21) 修复`Unity2019.2`上的兼容问题
|
* (2022.10.21) 修复`Unity2019.2`上的兼容问题
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ namespace XCharts.Editor
|
|||||||
PropertyField("m_Large");
|
PropertyField("m_Large");
|
||||||
PropertyField("m_LargeThreshold");
|
PropertyField("m_LargeThreshold");
|
||||||
PropertyField("m_PlaceHolder");
|
PropertyField("m_PlaceHolder");
|
||||||
|
PropertyField("m_MarkColor");
|
||||||
});
|
});
|
||||||
PropertyField("m_ItemStyle");
|
PropertyField("m_ItemStyle");
|
||||||
PropertyField("m_Animation");
|
PropertyField("m_Animation");
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ namespace XCharts.Editor
|
|||||||
PropertyField("m_ShowAsPositiveNumber");
|
PropertyField("m_ShowAsPositiveNumber");
|
||||||
PropertyField("m_Large");
|
PropertyField("m_Large");
|
||||||
PropertyField("m_LargeThreshold");
|
PropertyField("m_LargeThreshold");
|
||||||
|
PropertyField("m_MarkColor");
|
||||||
});
|
});
|
||||||
PropertyField("m_Symbol");
|
PropertyField("m_Symbol");
|
||||||
PropertyField("m_LineStyle");
|
PropertyField("m_LineStyle");
|
||||||
|
|||||||
@@ -568,6 +568,25 @@ namespace XCharts.Runtime
|
|||||||
return theme.GetBackgroundColor(background);
|
return theme.GetBackgroundColor(background);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Since("v3.4.0")]
|
||||||
|
/// <summary>
|
||||||
|
/// 获得Serie的标识颜色。
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="serie"></param>
|
||||||
|
/// <param name="serieData"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Color32 GetMarkColor(Serie serie, SerieData serieData)
|
||||||
|
{
|
||||||
|
if (ChartHelper.IsClearColor(serie.markColor))
|
||||||
|
{
|
||||||
|
return GetItemColor(serie, serieData);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return serie.markColor;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Color32 GetItemColor(Serie serie, SerieData serieData)
|
public Color32 GetItemColor(Serie serie, SerieData serieData)
|
||||||
{
|
{
|
||||||
Color32 color, toColor;
|
Color32 color, toColor;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
title = category;
|
title = category;
|
||||||
|
|
||||||
var color = chart.GetItemColor(serie, serieData);
|
var color = chart.GetMarkColor(serie, serieData);
|
||||||
var newMarker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
var newMarker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
||||||
var newItemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
var newItemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
||||||
var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ namespace XCharts.Runtime
|
|||||||
|
|
||||||
title = category;
|
title = category;
|
||||||
|
|
||||||
var color = chart.GetItemColor(serie, serieData);
|
var color = chart.GetMarkColor(serie, serieData);
|
||||||
var newMarker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
var newMarker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
||||||
var newItemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
var newItemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
||||||
var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
var newNumericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace XCharts.Runtime
|
|||||||
param.dimension = 1;
|
param.dimension = 1;
|
||||||
param.dataCount = serie.dataCount;
|
param.dataCount = serie.dataCount;
|
||||||
param.serieData = serieData;
|
param.serieData = serieData;
|
||||||
param.color = chart.GetItemColor(serie, serieData);
|
param.color = chart.GetMarkColor(serie, serieData);
|
||||||
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
||||||
param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
param.itemFormatter = SerieHelper.GetItemFormatter(serie, serieData, itemFormatter);
|
||||||
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
||||||
|
|||||||
@@ -230,6 +230,7 @@ namespace XCharts.Runtime
|
|||||||
[SerializeField] private string m_SerieName;
|
[SerializeField] private string m_SerieName;
|
||||||
[SerializeField][Since("v3.2.0")] private SerieState m_State = SerieState.Normal;
|
[SerializeField][Since("v3.2.0")] private SerieState m_State = SerieState.Normal;
|
||||||
[SerializeField][Since("v3.2.0")] private SerieColorBy m_ColorBy = SerieColorBy.Default;
|
[SerializeField][Since("v3.2.0")] private SerieColorBy m_ColorBy = SerieColorBy.Default;
|
||||||
|
[SerializeField][Since("v3.4.0")] private Color32 m_MarkColor;
|
||||||
[SerializeField] private string m_Stack;
|
[SerializeField] private string m_Stack;
|
||||||
[SerializeField] private int m_XAxisIndex = 0;
|
[SerializeField] private int m_XAxisIndex = 0;
|
||||||
[SerializeField] private int m_YAxisIndex = 0;
|
[SerializeField] private int m_YAxisIndex = 0;
|
||||||
@@ -374,6 +375,15 @@ namespace XCharts.Runtime
|
|||||||
set { if (PropertyUtil.SetStruct(ref m_ColorBy, value)) { SetAllDirty(); } }
|
set { if (PropertyUtil.SetStruct(ref m_ColorBy, value)) { SetAllDirty(); } }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Serie's mark color. It is only used to display Legend and Tooltip, and does not affect the drawing color. The default value is clear.
|
||||||
|
/// |Serie的标识颜色。仅用于Legend和Tooltip的展示,不影响绘制颜色,默认为clear。
|
||||||
|
/// </summary>
|
||||||
|
public Color32 markColor
|
||||||
|
{
|
||||||
|
get { return m_MarkColor; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_MarkColor, value)) { SetAllDirty(); } }
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
/// If stack the value. On the same category axis, the series with the same stack name would be put on top of each other.
|
/// If stack the value. On the same category axis, the series with the same stack name would be put on top of each other.
|
||||||
/// |数据堆叠,同个类目轴上系列配置相同的stack值后,后一个系列的值会在前一个系列的值上相加。
|
/// |数据堆叠,同个类目轴上系列配置相同的stack值后,后一个系列的值会在前一个系列的值上相加。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -528,7 +528,7 @@ namespace XCharts.Runtime
|
|||||||
param.value = serieData.GetData(dimension);
|
param.value = serieData.GetData(dimension);
|
||||||
param.ignore = ignore;
|
param.ignore = ignore;
|
||||||
param.total = serie.yTotal;
|
param.total = serie.yTotal;
|
||||||
param.color = chart.GetItemColor(serie, serieData);
|
param.color = chart.GetMarkColor(serie, serieData);
|
||||||
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
param.marker = SerieHelper.GetItemMarker(serie, serieData, marker);
|
||||||
param.itemFormatter = itemFormatter;
|
param.itemFormatter = itemFormatter;
|
||||||
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
param.numericFormatter = SerieHelper.GetNumericFormatter(serie, serieData, numericFormatter);
|
||||||
|
|||||||
@@ -106,9 +106,16 @@ namespace XCharts.Runtime
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Color32 color, toColor;
|
if (ChartHelper.IsClearColor(destSerie.markColor))
|
||||||
SerieHelper.GetItemColor(out color, out toColor, destSerie, destSerieData, chart.theme, index, SerieState.Normal);
|
{
|
||||||
return color;
|
Color32 color, toColor;
|
||||||
|
SerieHelper.GetItemColor(out color, out toColor, destSerie, destSerieData, chart.theme, index, SerieState.Normal);
|
||||||
|
return color;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return destSerie.markColor;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user