mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-24 18:00:26 +00:00
3.0 - guage chart
This commit is contained in:
@@ -25,7 +25,6 @@ namespace XCharts.Editor
|
|||||||
#endif
|
#endif
|
||||||
PropertyField(prop, "m_FontSize");
|
PropertyField(prop, "m_FontSize");
|
||||||
PropertyField(prop, "m_TextColor");
|
PropertyField(prop, "m_TextColor");
|
||||||
//PropertyField(prop, "m_TextBackgroundColor");
|
|
||||||
DrawExtendeds(prop);
|
DrawExtendeds(prop);
|
||||||
--EditorGUI.indentLevel;
|
--EditorGUI.indentLevel;
|
||||||
}
|
}
|
||||||
@@ -75,27 +74,6 @@ namespace XCharts.Editor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[CustomPropertyDrawer(typeof(GaugeAxisTheme), true)]
|
|
||||||
public class GaugeAxisThemeDrawer : AxisThemeDrawer
|
|
||||||
{
|
|
||||||
public override string ClassName { get { return "Gauge Axis"; } }
|
|
||||||
public override List<string> IngorePropertys
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return new List<string> {
|
|
||||||
"m_TextBackgroundColor" ,
|
|
||||||
"m_LineLength",
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected override void DrawExtendeds(SerializedProperty prop)
|
|
||||||
{
|
|
||||||
base.DrawExtendeds(prop);
|
|
||||||
PropertyField(prop, "m_BarBackgroundColor");
|
|
||||||
PropertyField(prop, "m_StageColor");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[CustomPropertyDrawer(typeof(DataZoomTheme), true)]
|
[CustomPropertyDrawer(typeof(DataZoomTheme), true)]
|
||||||
public class DataZoomThemeDrawer : ComponentThemeDrawer
|
public class DataZoomThemeDrawer : ComponentThemeDrawer
|
||||||
@@ -133,8 +111,6 @@ namespace XCharts.Editor
|
|||||||
protected override void DrawExtendeds(SerializedProperty prop)
|
protected override void DrawExtendeds(SerializedProperty prop)
|
||||||
{
|
{
|
||||||
base.DrawExtendeds(prop);
|
base.DrawExtendeds(prop);
|
||||||
PropertyField(prop, "m_BorderWidth");
|
|
||||||
PropertyField(prop, "m_BorderColor");
|
|
||||||
PropertyField(prop, "m_LineType");
|
PropertyField(prop, "m_LineType");
|
||||||
PropertyField(prop, "m_LineWidth");
|
PropertyField(prop, "m_LineWidth");
|
||||||
PropertyField(prop, "m_LineColor");
|
PropertyField(prop, "m_LineColor");
|
||||||
|
|||||||
@@ -17,16 +17,14 @@ namespace XCharts.Editor
|
|||||||
PropertyField(prop, "m_Position");
|
PropertyField(prop, "m_Position");
|
||||||
PropertyField(prop, "m_Offset");
|
PropertyField(prop, "m_Offset");
|
||||||
PropertyField(prop, "m_AutoOffset");
|
PropertyField(prop, "m_AutoOffset");
|
||||||
PropertyField(prop, "m_Margin");
|
PropertyField(prop, "m_AutoColor");
|
||||||
|
PropertyField(prop, "m_Distance");
|
||||||
PropertyField(prop, "m_Formatter");
|
PropertyField(prop, "m_Formatter");
|
||||||
PropertyField(prop, "m_NumericFormatter");
|
PropertyField(prop, "m_NumericFormatter");
|
||||||
PropertyField(prop, "m_BackgroundWidth");
|
PropertyField(prop, "m_BackgroundWidth");
|
||||||
PropertyField(prop, "m_BackgroundHeight");
|
PropertyField(prop, "m_BackgroundHeight");
|
||||||
PropertyField(prop, "m_PaddingLeftRight");
|
PropertyField(prop, "m_PaddingLeftRight");
|
||||||
PropertyField(prop, "m_PaddingTopBottom");
|
PropertyField(prop, "m_PaddingTopBottom");
|
||||||
PropertyField(prop, "m_Border");
|
|
||||||
PropertyField(prop, "m_BorderWidth");
|
|
||||||
PropertyField(prop, "m_BorderColor");
|
|
||||||
PropertyField(prop, "m_TextStyle");
|
PropertyField(prop, "m_TextStyle");
|
||||||
--EditorGUI.indentLevel;
|
--EditorGUI.indentLevel;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,8 @@ namespace XCharts.Editor
|
|||||||
{
|
{
|
||||||
base.DrawExtendeds(prop);
|
base.DrawExtendeds(prop);
|
||||||
PropertyField(prop, "m_Interval");
|
PropertyField(prop, "m_Interval");
|
||||||
|
PropertyField(prop, "m_Distance");
|
||||||
|
PropertyField(prop, "m_AutoColor");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[CustomPropertyDrawer(typeof(AxisTick), true)]
|
[CustomPropertyDrawer(typeof(AxisTick), true)]
|
||||||
@@ -55,6 +57,9 @@ namespace XCharts.Editor
|
|||||||
PropertyField(prop, "m_Inside");
|
PropertyField(prop, "m_Inside");
|
||||||
PropertyField(prop, "m_ShowStartTick");
|
PropertyField(prop, "m_ShowStartTick");
|
||||||
PropertyField(prop, "m_ShowEndTick");
|
PropertyField(prop, "m_ShowEndTick");
|
||||||
|
PropertyField(prop, "m_SplitNumber");
|
||||||
|
PropertyField(prop, "m_Distance");
|
||||||
|
PropertyField(prop, "m_AutoColor");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -26,6 +26,7 @@ namespace XCharts.Editor
|
|||||||
PropertyField(prop, "m_Offset");
|
PropertyField(prop, "m_Offset");
|
||||||
PropertyField(prop, "m_ExtraWidth");
|
PropertyField(prop, "m_ExtraWidth");
|
||||||
PropertyField(prop, "m_Color");
|
PropertyField(prop, "m_Color");
|
||||||
|
PropertyField(prop, "m_AutoBackgroundColor");
|
||||||
PropertyField(prop, "m_BackgroundColor");
|
PropertyField(prop, "m_BackgroundColor");
|
||||||
PropertyField(prop, "m_FontSize");
|
PropertyField(prop, "m_FontSize");
|
||||||
PropertyField(prop, "m_LineSpacing");
|
PropertyField(prop, "m_LineSpacing");
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ namespace XCharts.Editor
|
|||||||
if (MakeComponentFoldout(prop, "m_Show"))
|
if (MakeComponentFoldout(prop, "m_Show"))
|
||||||
{
|
{
|
||||||
++EditorGUI.indentLevel;
|
++EditorGUI.indentLevel;
|
||||||
|
PropertyField(prop, "m_OffsetCenter");
|
||||||
PropertyField(prop, "m_TextStyle");
|
PropertyField(prop, "m_TextStyle");
|
||||||
--EditorGUI.indentLevel;
|
--EditorGUI.indentLevel;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ namespace XCharts.Editor
|
|||||||
++EditorGUI.indentLevel;
|
++EditorGUI.indentLevel;
|
||||||
PropertyField(prop, "m_Inside");
|
PropertyField(prop, "m_Inside");
|
||||||
PropertyField(prop, "m_Interval");
|
PropertyField(prop, "m_Interval");
|
||||||
PropertyField(prop, "m_Margin");
|
PropertyField(prop, "m_Distance");
|
||||||
PropertyField(prop, "m_Width");
|
PropertyField(prop, "m_Width");
|
||||||
PropertyField(prop, "m_Height");
|
PropertyField(prop, "m_Height");
|
||||||
PropertyField(prop, "m_Formatter");
|
PropertyField(prop, "m_Formatter");
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ namespace XCharts.Editor
|
|||||||
PropertyField("m_RoundCap");
|
PropertyField("m_RoundCap");
|
||||||
PropertyField("m_Clockwise");
|
PropertyField("m_Clockwise");
|
||||||
|
|
||||||
PropertyField("m_TitleStyle");
|
|
||||||
PropertyField("m_ItemStyle");
|
PropertyField("m_ItemStyle");
|
||||||
PropertyField("m_Animation");
|
PropertyField("m_Animation");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ namespace XCharts.Editor
|
|||||||
});
|
});
|
||||||
if (m_DataElementFoldout[index])
|
if (m_DataElementFoldout[index])
|
||||||
{
|
{
|
||||||
if(!(serie is ISimplifiedSerie))
|
if (!(serie is ISimplifiedSerie))
|
||||||
DrawSerieDataDetail(m_Datas, index);
|
DrawSerieDataDetail(m_Datas, index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -201,6 +201,7 @@ namespace XCharts.Editor
|
|||||||
var m_Symbol = serieData.FindPropertyRelative("m_Symbols");
|
var m_Symbol = serieData.FindPropertyRelative("m_Symbols");
|
||||||
var m_LineStyle = serieData.FindPropertyRelative("m_LineStyles");
|
var m_LineStyle = serieData.FindPropertyRelative("m_LineStyles");
|
||||||
var m_AreaStyle = serieData.FindPropertyRelative("m_AreaStyles");
|
var m_AreaStyle = serieData.FindPropertyRelative("m_AreaStyles");
|
||||||
|
var m_TitleStyle = serieData.FindPropertyRelative("m_TitleStyles");
|
||||||
|
|
||||||
PropertyField(sereName);
|
PropertyField(sereName);
|
||||||
PropertyField(selected);
|
PropertyField(selected);
|
||||||
@@ -239,6 +240,10 @@ namespace XCharts.Editor
|
|||||||
{
|
{
|
||||||
serie.GetSerieData(index).GetOrAddComponent<AreaStyle>();
|
serie.GetSerieData(index).GetOrAddComponent<AreaStyle>();
|
||||||
}, m_AreaStyle.arraySize == 0),
|
}, m_AreaStyle.arraySize == 0),
|
||||||
|
new HeaderMenuInfo("Add TitleStyle", () =>
|
||||||
|
{
|
||||||
|
serie.GetSerieData(index).GetOrAddComponent<TitleStyle>();
|
||||||
|
}, m_TitleStyle.arraySize == 0),
|
||||||
new HeaderMenuInfo("Remove ItemStyle", () =>
|
new HeaderMenuInfo("Remove ItemStyle", () =>
|
||||||
{
|
{
|
||||||
serie.GetSerieData(index).RemoveComponent<ItemStyle>();
|
serie.GetSerieData(index).RemoveComponent<ItemStyle>();
|
||||||
@@ -267,6 +272,10 @@ namespace XCharts.Editor
|
|||||||
{
|
{
|
||||||
serie.GetSerieData(index).RemoveComponent<AreaStyle>();
|
serie.GetSerieData(index).RemoveComponent<AreaStyle>();
|
||||||
}, m_AreaStyle.arraySize > 0),
|
}, m_AreaStyle.arraySize > 0),
|
||||||
|
new HeaderMenuInfo("Remove TitleStyle", () =>
|
||||||
|
{
|
||||||
|
serie.GetSerieData(index).RemoveComponent<TitleStyle>();
|
||||||
|
}, m_TitleStyle.arraySize > 0),
|
||||||
new HeaderMenuInfo("Remove All", () =>
|
new HeaderMenuInfo("Remove All", () =>
|
||||||
{
|
{
|
||||||
serie.GetSerieData(index).RemoveAllComponent();
|
serie.GetSerieData(index).RemoveAllComponent();
|
||||||
@@ -287,6 +296,8 @@ namespace XCharts.Editor
|
|||||||
PropertyField(m_LineStyle.GetArrayElementAtIndex(0));
|
PropertyField(m_LineStyle.GetArrayElementAtIndex(0));
|
||||||
if (m_AreaStyle.arraySize > 0)
|
if (m_AreaStyle.arraySize > 0)
|
||||||
PropertyField(m_AreaStyle.GetArrayElementAtIndex(0));
|
PropertyField(m_AreaStyle.GetArrayElementAtIndex(0));
|
||||||
|
if (m_TitleStyle.arraySize > 0)
|
||||||
|
PropertyField(m_TitleStyle.GetArrayElementAtIndex(0));
|
||||||
}
|
}
|
||||||
EditorGUI.indentLevel--;
|
EditorGUI.indentLevel--;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -208,8 +208,6 @@ namespace XCharts.Example
|
|||||||
{
|
{
|
||||||
chart.GetChartComponent<Title>().subText = "SerieLabel 文本标签";
|
chart.GetChartComponent<Title>().subText = "SerieLabel 文本标签";
|
||||||
serie.AddExtraComponent<LabelStyle>();
|
serie.AddExtraComponent<LabelStyle>();
|
||||||
serie.label.show = true;
|
|
||||||
serie.label.border = false;
|
|
||||||
chart.RefreshChart();
|
chart.RefreshChart();
|
||||||
while (serie.label.offset[1] < 20)
|
while (serie.label.offset[1] < 20)
|
||||||
{
|
{
|
||||||
@@ -219,7 +217,6 @@ namespace XCharts.Example
|
|||||||
}
|
}
|
||||||
yield return new WaitForSeconds(1);
|
yield return new WaitForSeconds(1);
|
||||||
|
|
||||||
serie.label.border = true;
|
|
||||||
chart.RefreshChart();
|
chart.RefreshChart();
|
||||||
yield return new WaitForSeconds(1);
|
yield return new WaitForSeconds(1);
|
||||||
|
|
||||||
|
|||||||
@@ -143,13 +143,11 @@ namespace XCharts.Example
|
|||||||
serie.AddExtraComponent<LabelStyle>();
|
serie.AddExtraComponent<LabelStyle>();
|
||||||
serie.label.show = true;
|
serie.label.show = true;
|
||||||
serie.label.position = LabelStyle.Position.Center;
|
serie.label.position = LabelStyle.Position.Center;
|
||||||
serie.label.border = false;
|
|
||||||
serie.label.textStyle.color = Color.white;
|
serie.label.textStyle.color = Color.white;
|
||||||
serie.label.formatter = "{d:f0}%";
|
serie.label.formatter = "{d:f0}%";
|
||||||
|
|
||||||
serie2.label.show = true;
|
serie2.label.show = true;
|
||||||
serie2.label.position = LabelStyle.Position.Center;
|
serie2.label.position = LabelStyle.Position.Center;
|
||||||
serie2.label.border = false;
|
|
||||||
serie2.label.textStyle.color = Color.white;
|
serie2.label.textStyle.color = Color.white;
|
||||||
serie2.label.formatter = "{d:f0}%";
|
serie2.label.formatter = "{d:f0}%";
|
||||||
serie2.labelDirty = true;
|
serie2.labelDirty = true;
|
||||||
|
|||||||
@@ -151,7 +151,6 @@ namespace XCharts.Example
|
|||||||
serie1.label.position = LabelStyle.Position.Inside;
|
serie1.label.position = LabelStyle.Position.Inside;
|
||||||
serie1.label.textStyle.color = Color.white;
|
serie1.label.textStyle.color = Color.white;
|
||||||
serie1.label.textStyle.fontSize = 14;
|
serie1.label.textStyle.fontSize = 14;
|
||||||
serie1.label.border = false;
|
|
||||||
|
|
||||||
chart.RefreshChart();
|
chart.RefreshChart();
|
||||||
yield return new WaitForSeconds(1);
|
yield return new WaitForSeconds(1);
|
||||||
|
|||||||
@@ -87,49 +87,6 @@ MonoBehaviour:
|
|||||||
rgba: 1308293882
|
rgba: 1308293882
|
||||||
- serializedVersion: 2
|
- serializedVersion: 2
|
||||||
rgba: 1305004232
|
rgba: 1305004232
|
||||||
m_Gauge:
|
|
||||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
m_TextColor: {r: 0.31764707, g: 0.3019608, b: 0.3019608, a: 1}
|
|
||||||
m_TextBackgroundColor: {r: 0, g: 0, b: 0, a: 0}
|
|
||||||
m_FontSize: 18
|
|
||||||
m_LineType: 0
|
|
||||||
m_LineWidth: 15
|
|
||||||
m_LineLength: 0
|
|
||||||
m_LineColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4283256145
|
|
||||||
m_SplitLineType: 0
|
|
||||||
m_SplitLineWidth: 0.8
|
|
||||||
m_SplitLineLength: 15
|
|
||||||
m_SplitLineColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_TickWidth: 0.8
|
|
||||||
m_TickLength: 5
|
|
||||||
m_TickColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4294967295
|
|
||||||
m_SplitAreaColors:
|
|
||||||
- serializedVersion: 2
|
|
||||||
rgba: 1308293882
|
|
||||||
- serializedVersion: 2
|
|
||||||
rgba: 1305004232
|
|
||||||
m_BarBackgroundColor:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4291348680
|
|
||||||
m_StageColor:
|
|
||||||
- m_Percent: 0.2
|
|
||||||
m_Color:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4289644433
|
|
||||||
- m_Percent: 0.8
|
|
||||||
m_Color:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4288579171
|
|
||||||
- m_Percent: 1
|
|
||||||
m_Color:
|
|
||||||
serializedVersion: 2
|
|
||||||
rgba: 4281415106
|
|
||||||
m_Tooltip:
|
m_Tooltip:
|
||||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||||
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
m_TextColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
|
|||||||
@@ -504,19 +504,19 @@ namespace XCharts
|
|||||||
return m_FadeInDuration > 0 ? m_FadeInDuration / 1000 : 1f;
|
return m_FadeInDuration > 0 ? m_FadeInDuration / 1000 : 1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal float CheckItemProgress(int dataIndex, float barHig, ref bool isEnd)
|
internal float CheckItemProgress(int dataIndex, float destProgress, ref bool isEnd, float startProgress = 0)
|
||||||
{
|
{
|
||||||
isEnd = false;
|
isEnd = false;
|
||||||
var initHig = m_FadeOut ? barHig : 0;
|
var initHig = m_FadeOut ? destProgress : startProgress;
|
||||||
var destHig = m_FadeOut ? 0 : barHig;
|
var destHig = m_FadeOut ? startProgress : destProgress;
|
||||||
var currHig = GetDataCurrProgress(dataIndex, initHig, destHig, ref isEnd);
|
var currHig = GetDataCurrProgress(dataIndex, initHig, destHig, ref isEnd);
|
||||||
if (isEnd || IsFinish())
|
if (isEnd || IsFinish())
|
||||||
{
|
{
|
||||||
return m_FadeOuted ? 0 : barHig;
|
return m_FadeOuted ? startProgress : destProgress;
|
||||||
}
|
}
|
||||||
else if (IsInDelay() || IsInIndexDelay(dataIndex))
|
else if (IsInDelay() || IsInIndexDelay(dataIndex))
|
||||||
{
|
{
|
||||||
return m_FadeOut ? barHig : 0;
|
return m_FadeOut ? destProgress : startProgress;
|
||||||
}
|
}
|
||||||
else if (m_IsPause)
|
else if (m_IsPause)
|
||||||
{
|
{
|
||||||
@@ -525,7 +525,7 @@ namespace XCharts
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
var duration = GetCurrAnimationDuration(dataIndex);
|
var duration = GetCurrAnimationDuration(dataIndex);
|
||||||
var delta = barHig / duration * Time.deltaTime;
|
var delta = (destProgress - startProgress) / duration * Time.deltaTime;
|
||||||
currHig = currHig + (m_FadeOut ? -delta : delta);
|
currHig = currHig + (m_FadeOut ? -delta : delta);
|
||||||
if (m_FadeOut)
|
if (m_FadeOut)
|
||||||
{
|
{
|
||||||
@@ -535,11 +535,12 @@ namespace XCharts
|
|||||||
isEnd = true;
|
isEnd = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Mathf.Abs(currHig) >= Mathf.Abs(barHig))
|
else if (currHig - destProgress > 0)
|
||||||
{
|
{
|
||||||
currHig = barHig;
|
currHig = destProgress;
|
||||||
isEnd = true;
|
isEnd = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDataCurrProgress(dataIndex, currHig);
|
SetDataCurrProgress(dataIndex, currHig);
|
||||||
return currHig;
|
return currHig;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace XCharts
|
|||||||
public struct AnimationStyleContext
|
public struct AnimationStyleContext
|
||||||
{
|
{
|
||||||
public AnimationType type;
|
public AnimationType type;
|
||||||
internal float currentPathDistance;
|
public float currentPathDistance;
|
||||||
internal bool isAllItemAnimationEnd;
|
public bool isAllItemAnimationEnd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
public static class AnimationStyleHelper
|
public static class AnimationStyleHelper
|
||||||
{
|
{
|
||||||
public static float CheckDataAnimation(BaseChart chart, Serie serie, int dataIndex, float destProgress)
|
public static float CheckDataAnimation(BaseChart chart, Serie serie, int dataIndex, float destProgress, float startPorgress = 0)
|
||||||
{
|
{
|
||||||
if (!serie.animation.IsItemAnimation())
|
if (!serie.animation.IsItemAnimation())
|
||||||
{
|
{
|
||||||
@@ -18,7 +18,7 @@ namespace XCharts
|
|||||||
return destProgress;
|
return destProgress;
|
||||||
}
|
}
|
||||||
var isDataAnimationEnd = true;
|
var isDataAnimationEnd = true;
|
||||||
float currHig = serie.animation.CheckItemProgress(dataIndex, destProgress, ref isDataAnimationEnd);
|
float currHig = serie.animation.CheckItemProgress(dataIndex, destProgress, ref isDataAnimationEnd, startPorgress);
|
||||||
if (!isDataAnimationEnd)
|
if (!isDataAnimationEnd)
|
||||||
{
|
{
|
||||||
serie.animation.context.isAllItemAnimationEnd = false;
|
serie.animation.context.isAllItemAnimationEnd = false;
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace XCharts
|
|||||||
var total = 360;
|
var total = 360;
|
||||||
var cenPos = polar.context.center;
|
var cenPos = polar.context.center;
|
||||||
var txtHig = axis.axisLabel.textStyle.GetFontSize(chart.theme.axis) + 2;
|
var txtHig = axis.axisLabel.textStyle.GetFontSize(chart.theme.axis) + 2;
|
||||||
var margin = axis.axisLabel.margin + axis.axisTick.GetLength(chart.theme.axis.tickLength);
|
var margin = axis.axisLabel.distance + axis.axisTick.GetLength(chart.theme.axis.tickLength);
|
||||||
var isCategory = axis.IsCategory();
|
var isCategory = axis.IsCategory();
|
||||||
var isPercentStack = SeriesHelper.IsPercentStack<Bar>(chart.series);
|
var isPercentStack = SeriesHelper.IsPercentStack<Bar>(chart.series);
|
||||||
for (int i = 0; i < splitNumber; i++)
|
for (int i = 0; i < splitNumber; i++)
|
||||||
|
|||||||
@@ -567,9 +567,9 @@ namespace XCharts
|
|||||||
axisStartY += relativedLength;
|
axisStartY += relativedLength;
|
||||||
|
|
||||||
if ((inside && axis.IsBottom()) || (!inside && axis.IsTop()))
|
if ((inside && axis.IsBottom()) || (!inside && axis.IsTop()))
|
||||||
current += axisStartY + axis.axisLabel.margin + fontSize / 2;
|
current += axisStartY + axis.axisLabel.distance + fontSize / 2;
|
||||||
else
|
else
|
||||||
current += axisStartY - axis.axisLabel.margin - fontSize / 2;
|
current += axisStartY - axis.axisLabel.distance - fontSize / 2;
|
||||||
|
|
||||||
return new Vector3(axisStartX + scaleWid, current) + axis.axisLabel.textStyle.offsetv3;
|
return new Vector3(axisStartX + scaleWid, current) + axis.axisLabel.textStyle.offsetv3;
|
||||||
}
|
}
|
||||||
@@ -582,9 +582,9 @@ namespace XCharts
|
|||||||
axisStartX += relativedLength;
|
axisStartX += relativedLength;
|
||||||
|
|
||||||
if ((inside && axis.IsLeft()) || (!inside && axis.IsRight()))
|
if ((inside && axis.IsLeft()) || (!inside && axis.IsRight()))
|
||||||
current += axisStartX + axis.axisLabel.margin;
|
current += axisStartX + axis.axisLabel.distance;
|
||||||
else
|
else
|
||||||
current += axisStartX - axis.axisLabel.margin;
|
current += axisStartX - axis.axisLabel.distance;
|
||||||
|
|
||||||
return new Vector3(current, axisStartY + scaleWid) + axis.axisLabel.textStyle.offsetv3;
|
return new Vector3(current, axisStartY + scaleWid) + axis.axisLabel.textStyle.offsetv3;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace XCharts
|
|||||||
[SerializeField] private string m_Formatter;
|
[SerializeField] private string m_Formatter;
|
||||||
[SerializeField] private int m_Interval = 0;
|
[SerializeField] private int m_Interval = 0;
|
||||||
[SerializeField] private bool m_Inside = false;
|
[SerializeField] private bool m_Inside = false;
|
||||||
[SerializeField] private float m_Margin;
|
[SerializeField] private float m_Distance;
|
||||||
[SerializeField] private string m_NumericFormatter = "";
|
[SerializeField] private string m_NumericFormatter = "";
|
||||||
[SerializeField] private bool m_ShowAsPositiveNumber = false;
|
[SerializeField] private bool m_ShowAsPositiveNumber = false;
|
||||||
[SerializeField] private bool m_OnZero = false;
|
[SerializeField] private bool m_OnZero = false;
|
||||||
@@ -56,13 +56,13 @@ namespace XCharts
|
|||||||
set { if (PropertyUtil.SetStruct(ref m_Inside, value)) SetComponentDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_Inside, value)) SetComponentDirty(); }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The margin between the axis label and the axis line.
|
/// The distance between the axis label and the axis line.
|
||||||
/// 刻度标签与轴线之间的距离。
|
/// 刻度标签与轴线之间的距离。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float margin
|
public float distance
|
||||||
{
|
{
|
||||||
get { return m_Margin; }
|
get { return m_Distance; }
|
||||||
set { if (PropertyUtil.SetStruct(ref m_Margin, value)) SetComponentDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_Distance, value)) SetComponentDirty(); }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 图例内容字符串模版格式器。支持用 \n 换行。
|
/// 图例内容字符串模版格式器。支持用 \n 换行。
|
||||||
@@ -179,7 +179,7 @@ namespace XCharts
|
|||||||
m_Show = true,
|
m_Show = true,
|
||||||
m_Interval = 0,
|
m_Interval = 0,
|
||||||
m_Inside = false,
|
m_Inside = false,
|
||||||
m_Margin = 8,
|
m_Distance = 8,
|
||||||
m_TextStyle = new TextStyle(),
|
m_TextStyle = new TextStyle(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -192,7 +192,7 @@ namespace XCharts
|
|||||||
axisLabel.formatter = formatter;
|
axisLabel.formatter = formatter;
|
||||||
axisLabel.interval = interval;
|
axisLabel.interval = interval;
|
||||||
axisLabel.inside = inside;
|
axisLabel.inside = inside;
|
||||||
axisLabel.margin = margin;
|
axisLabel.distance = distance;
|
||||||
axisLabel.numericFormatter = numericFormatter;
|
axisLabel.numericFormatter = numericFormatter;
|
||||||
axisLabel.width = width;
|
axisLabel.width = width;
|
||||||
axisLabel.height = height;
|
axisLabel.height = height;
|
||||||
@@ -209,7 +209,7 @@ namespace XCharts
|
|||||||
formatter = axisLabel.formatter;
|
formatter = axisLabel.formatter;
|
||||||
interval = axisLabel.interval;
|
interval = axisLabel.interval;
|
||||||
inside = axisLabel.inside;
|
inside = axisLabel.inside;
|
||||||
margin = axisLabel.margin;
|
distance = axisLabel.distance;
|
||||||
numericFormatter = axisLabel.numericFormatter;
|
numericFormatter = axisLabel.numericFormatter;
|
||||||
width = axisLabel.width;
|
width = axisLabel.width;
|
||||||
height = axisLabel.height;
|
height = axisLabel.height;
|
||||||
|
|||||||
@@ -12,6 +12,15 @@ namespace XCharts
|
|||||||
public class AxisSplitLine : BaseLine
|
public class AxisSplitLine : BaseLine
|
||||||
{
|
{
|
||||||
[SerializeField] private int m_Interval;
|
[SerializeField] private int m_Interval;
|
||||||
|
[SerializeField] private float m_Distance;
|
||||||
|
[SerializeField] private bool m_AutoColor;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The distance between the split line and axis line.
|
||||||
|
/// 刻度线与轴线的距离。
|
||||||
|
/// </summary>
|
||||||
|
public float distance { get { return m_Distance; } set { m_Distance = value; } }
|
||||||
|
public bool autoColor { get { return m_AutoColor; } set { m_AutoColor = value; } }
|
||||||
|
|
||||||
public int interval
|
public int interval
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -15,6 +15,15 @@ namespace XCharts
|
|||||||
[SerializeField] private bool m_Inside;
|
[SerializeField] private bool m_Inside;
|
||||||
[SerializeField] private bool m_ShowStartTick;
|
[SerializeField] private bool m_ShowStartTick;
|
||||||
[SerializeField] private bool m_ShowEndTick;
|
[SerializeField] private bool m_ShowEndTick;
|
||||||
|
[SerializeField] private float m_Distance;
|
||||||
|
[SerializeField] protected int m_SplitNumber = 0;
|
||||||
|
[SerializeField] private bool m_AutoColor;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The distance between the tick line and axis line.
|
||||||
|
/// 刻度线与轴线的距离。
|
||||||
|
/// </summary>
|
||||||
|
public float distance { get { return m_Distance; } set { m_Distance = value; } }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Align axis tick with label, which is available only when boundaryGap is set to be true in category axis.
|
/// Align axis tick with label, which is available only when boundaryGap is set to be true in category axis.
|
||||||
@@ -52,6 +61,16 @@ namespace XCharts
|
|||||||
get { return m_ShowEndTick; }
|
get { return m_ShowEndTick; }
|
||||||
set { if (PropertyUtil.SetStruct(ref m_ShowEndTick, value)) SetVerticesDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_ShowEndTick, value)) SetVerticesDirty(); }
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Number of segments that the axis is split into.
|
||||||
|
/// 分隔线之间分割的刻度数。
|
||||||
|
/// </summary>
|
||||||
|
public int splitNumber
|
||||||
|
{
|
||||||
|
get { return m_SplitNumber; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_SplitNumber, value)) SetAllDirty(); }
|
||||||
|
}
|
||||||
|
public bool autoColor { get { return m_AutoColor; } set { m_AutoColor = value; } }
|
||||||
|
|
||||||
public static AxisTick defaultTick
|
public static AxisTick defaultTick
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ namespace XCharts
|
|||||||
var dire = ChartHelper.GetDire(startAngle, true).normalized;
|
var dire = ChartHelper.GetDire(startAngle, true).normalized;
|
||||||
var tickLength = axis.axisTick.GetLength(chart.theme.axis.tickLength);
|
var tickLength = axis.axisTick.GetLength(chart.theme.axis.tickLength);
|
||||||
var tickVector = ChartHelper.GetVertialDire(dire)
|
var tickVector = ChartHelper.GetVertialDire(dire)
|
||||||
* (tickLength + axis.axisLabel.margin);
|
* (tickLength + axis.axisLabel.distance);
|
||||||
return ChartHelper.GetPos(cenPos, totalWidth, startAngle, true) + tickVector;
|
return ChartHelper.GetPos(cenPos, totalWidth, startAngle, true) + tickVector;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,17 +73,15 @@ namespace XCharts
|
|||||||
[SerializeField] private bool m_Show = true;
|
[SerializeField] private bool m_Show = true;
|
||||||
[SerializeField] Position m_Position = Position.Outside;
|
[SerializeField] Position m_Position = Position.Outside;
|
||||||
[SerializeField] private Vector3 m_Offset;
|
[SerializeField] private Vector3 m_Offset;
|
||||||
[SerializeField] private float m_Margin;
|
[SerializeField] private float m_Distance;
|
||||||
[SerializeField] private string m_Formatter;
|
[SerializeField] private string m_Formatter;
|
||||||
[SerializeField] private float m_PaddingLeftRight = 2f;
|
[SerializeField] private float m_PaddingLeftRight = 2f;
|
||||||
[SerializeField] private float m_PaddingTopBottom = 2f;
|
[SerializeField] private float m_PaddingTopBottom = 2f;
|
||||||
[SerializeField] private float m_BackgroundWidth = 0;
|
[SerializeField] private float m_BackgroundWidth = 0;
|
||||||
[SerializeField] private float m_BackgroundHeight = 0;
|
[SerializeField] private float m_BackgroundHeight = 0;
|
||||||
[SerializeField] private bool m_Border = false;
|
|
||||||
[SerializeField] private float m_BorderWidth = 0.5f;
|
|
||||||
[SerializeField] private Color32 m_BorderColor = ChartConst.greyColor32;
|
|
||||||
[SerializeField] private string m_NumericFormatter = "";
|
[SerializeField] private string m_NumericFormatter = "";
|
||||||
[SerializeField] private bool m_AutoOffset = false;
|
[SerializeField] private bool m_AutoOffset = false;
|
||||||
|
[SerializeField] private bool m_AutoColor = false;
|
||||||
[SerializeField] private TextStyle m_TextStyle = new TextStyle();
|
[SerializeField] private TextStyle m_TextStyle = new TextStyle();
|
||||||
private DelegateSerieLabelFormatter m_FormatterFunction;
|
private DelegateSerieLabelFormatter m_FormatterFunction;
|
||||||
|
|
||||||
@@ -92,16 +90,14 @@ namespace XCharts
|
|||||||
m_Show = false;
|
m_Show = false;
|
||||||
m_Position = Position.Outside;
|
m_Position = Position.Outside;
|
||||||
m_Offset = Vector3.zero;
|
m_Offset = Vector3.zero;
|
||||||
m_Margin = 0;
|
m_Distance = 0;
|
||||||
m_PaddingLeftRight = 2f;
|
m_PaddingLeftRight = 2f;
|
||||||
m_PaddingTopBottom = 2f;
|
m_PaddingTopBottom = 2f;
|
||||||
m_BackgroundWidth = 0;
|
m_BackgroundWidth = 0;
|
||||||
m_BackgroundHeight = 0;
|
m_BackgroundHeight = 0;
|
||||||
m_Border = false;
|
|
||||||
m_BorderWidth = 0.5f;
|
|
||||||
m_BorderColor = Color.grey;
|
|
||||||
m_NumericFormatter = "";
|
m_NumericFormatter = "";
|
||||||
m_AutoOffset = false;
|
m_AutoOffset = false;
|
||||||
|
m_AutoColor = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -152,10 +148,10 @@ namespace XCharts
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 距离轴线的距离。
|
/// 距离轴线的距离。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float margin
|
public float distance
|
||||||
{
|
{
|
||||||
get { return m_Margin; }
|
get { return m_Distance; }
|
||||||
set { if (PropertyUtil.SetStruct(ref m_Margin, value)) SetVerticesDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_Distance, value)) SetVerticesDirty(); }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the width of background. If set as default value 0, it means than the background width auto set as the text width.
|
/// the width of background. If set as default value 0, it means than the background width auto set as the text width.
|
||||||
@@ -196,33 +192,6 @@ namespace XCharts
|
|||||||
set { if (PropertyUtil.SetStruct(ref m_PaddingTopBottom, value)) SetComponentDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_PaddingTopBottom, value)) SetComponentDirty(); }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether to show border.
|
|
||||||
/// 是否显示边框。
|
|
||||||
/// </summary>
|
|
||||||
public bool border
|
|
||||||
{
|
|
||||||
get { return m_Border; }
|
|
||||||
set { if (PropertyUtil.SetStruct(ref m_Border, value)) SetVerticesDirty(); }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// the width of border.
|
|
||||||
/// 边框宽度。
|
|
||||||
/// </summary>
|
|
||||||
public float borderWidth
|
|
||||||
{
|
|
||||||
get { return m_BorderWidth; }
|
|
||||||
set { if (PropertyUtil.SetStruct(ref m_BorderWidth, value)) SetVerticesDirty(); }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// the color of border.
|
|
||||||
/// 边框颜色。
|
|
||||||
/// </summary>
|
|
||||||
public Color32 borderColor
|
|
||||||
{
|
|
||||||
get { return m_BorderColor; }
|
|
||||||
set { if (PropertyUtil.SetStruct(ref m_BorderColor, value)) SetVerticesDirty(); }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// Standard numeric format strings.
|
/// Standard numeric format strings.
|
||||||
/// 标准数字格式字符串。用于将数值格式化显示为字符串。
|
/// 标准数字格式字符串。用于将数值格式化显示为字符串。
|
||||||
/// 使用Axx的形式:A是格式说明符的单字符,支持C货币、D十进制、E指数、F定点数、G常规、N数字、P百分比、R往返、X十六进制的。xx是精度说明,从0-99。
|
/// 使用Axx的形式:A是格式说明符的单字符,支持C货币、D十进制、E指数、F定点数、G常规、N数字、P百分比、R往返、X十六进制的。xx是精度说明,从0-99。
|
||||||
@@ -242,6 +211,14 @@ namespace XCharts
|
|||||||
get { return m_AutoOffset; }
|
get { return m_AutoOffset; }
|
||||||
set { if (PropertyUtil.SetStruct(ref m_AutoOffset, value)) SetAllDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_AutoOffset, value)) SetAllDirty(); }
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 是否开启自动颜色。当开启时,会根据已支持的serie自动设置颜色。
|
||||||
|
/// </summary>
|
||||||
|
public bool autoColor
|
||||||
|
{
|
||||||
|
get { return m_AutoColor; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_AutoColor, value)) SetAllDirty(); }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the sytle of text.
|
/// the sytle of text.
|
||||||
@@ -264,6 +241,14 @@ namespace XCharts
|
|||||||
return position == Position.Inside || position == Position.Center;
|
return position == Position.Inside || position == Position.Center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Vector3 GetOffset(float radius)
|
||||||
|
{
|
||||||
|
var x = ChartHelper.GetActualValue(m_Offset.x, radius);
|
||||||
|
var y = ChartHelper.GetActualValue(m_Offset.y, radius);
|
||||||
|
var z = ChartHelper.GetActualValue(m_Offset.z, radius);
|
||||||
|
return new Vector3(x, y, z);
|
||||||
|
}
|
||||||
|
|
||||||
public Color GetColor(Color defaultColor)
|
public Color GetColor(Color defaultColor)
|
||||||
{
|
{
|
||||||
if (ChartHelper.IsClearColor(textStyle.color))
|
if (ChartHelper.IsClearColor(textStyle.color))
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace XCharts
|
|||||||
[SerializeField] private float m_ExtraWidth = 0;
|
[SerializeField] private float m_ExtraWidth = 0;
|
||||||
[SerializeField] private Vector2 m_Offset = Vector2.zero;
|
[SerializeField] private Vector2 m_Offset = Vector2.zero;
|
||||||
[SerializeField] private Color m_Color = Color.clear;
|
[SerializeField] private Color m_Color = Color.clear;
|
||||||
|
[SerializeField] private bool m_AutoBackgroundColor = false;
|
||||||
[SerializeField] private Color m_BackgroundColor = Color.clear;
|
[SerializeField] private Color m_BackgroundColor = Color.clear;
|
||||||
[SerializeField] private int m_FontSize = 0;
|
[SerializeField] private int m_FontSize = 0;
|
||||||
[SerializeField] private FontStyle m_FontStyle = FontStyle.Normal;
|
[SerializeField] private FontStyle m_FontStyle = FontStyle.Normal;
|
||||||
@@ -73,6 +74,11 @@ namespace XCharts
|
|||||||
get { return m_Color; }
|
get { return m_Color; }
|
||||||
set { if (PropertyUtil.SetColor(ref m_Color, value)) SetComponentDirty(); }
|
set { if (PropertyUtil.SetColor(ref m_Color, value)) SetComponentDirty(); }
|
||||||
}
|
}
|
||||||
|
public bool autoBackgroundColor
|
||||||
|
{
|
||||||
|
get { return m_AutoBackgroundColor; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_AutoBackgroundColor, value)) SetComponentDirty(); }
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the color of text.
|
/// the color of text.
|
||||||
/// 文本的背景颜色。
|
/// 文本的背景颜色。
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.Serialization;
|
|
||||||
|
|
||||||
namespace XCharts
|
namespace XCharts
|
||||||
{
|
{
|
||||||
@@ -10,9 +9,10 @@ namespace XCharts
|
|||||||
/// 标题相关设置。
|
/// 标题相关设置。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class TitleStyle : ChildComponent
|
public class TitleStyle : ChildComponent, ISerieDataComponent, ISerieExtraComponent
|
||||||
{
|
{
|
||||||
[SerializeField] private bool m_Show;
|
[SerializeField] private bool m_Show = true;
|
||||||
|
[SerializeField] private Vector2 m_OffsetCenter = new Vector2(0, -0.2f);
|
||||||
[SerializeField] private TextStyle m_TextStyle = new TextStyle();
|
[SerializeField] private TextStyle m_TextStyle = new TextStyle();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -24,6 +24,15 @@ namespace XCharts
|
|||||||
get { return m_Show; }
|
get { return m_Show; }
|
||||||
set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); }
|
set { if (PropertyUtil.SetStruct(ref m_Show, value)) SetComponentDirty(); }
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// The offset position relative to the center.
|
||||||
|
/// 相对于中心的偏移位置。
|
||||||
|
/// </summary>
|
||||||
|
public Vector2 offsetCenter
|
||||||
|
{
|
||||||
|
get { return m_OffsetCenter; }
|
||||||
|
set { if (PropertyUtil.SetStruct(ref m_OffsetCenter, value)) SetComponentDirty(); }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the color of text.
|
/// the color of text.
|
||||||
@@ -43,46 +52,11 @@ namespace XCharts
|
|||||||
textStyle.ClearComponentDirty();
|
textStyle.ClearComponentDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChartText runtimeText { get; set; }
|
public Vector3 GetOffset(float radius)
|
||||||
|
|
||||||
public bool IsInited()
|
|
||||||
{
|
{
|
||||||
return runtimeText != null;
|
var x = ChartHelper.GetActualValue(m_OffsetCenter.x, radius);
|
||||||
}
|
var y = ChartHelper.GetActualValue(m_OffsetCenter.y, radius);
|
||||||
|
return new Vector3(x, y, 0);
|
||||||
public void SetActive(bool active)
|
|
||||||
{
|
|
||||||
if (runtimeText != null)
|
|
||||||
{
|
|
||||||
runtimeText.SetActive(active);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void UpdatePosition(Vector3 pos)
|
|
||||||
{
|
|
||||||
if (runtimeText != null)
|
|
||||||
{
|
|
||||||
runtimeText.SetLocalPosition(pos + new Vector3(m_TextStyle.offset.x, m_TextStyle.offset.y));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetText(string text)
|
|
||||||
{
|
|
||||||
if (runtimeText == null) return;
|
|
||||||
var oldText = runtimeText.GetText();
|
|
||||||
if (oldText != null && !oldText.Equals(text))
|
|
||||||
{
|
|
||||||
if (!ChartHelper.IsClearColor(textStyle.color)) runtimeText.SetColor(textStyle.color);
|
|
||||||
runtimeText.SetText(text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetColor(Color color)
|
|
||||||
{
|
|
||||||
if (runtimeText != null)
|
|
||||||
{
|
|
||||||
runtimeText.SetColor(color);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -474,6 +474,12 @@ namespace XCharts
|
|||||||
else return serie.areaStyle;
|
else return serie.areaStyle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static TitleStyle GetTitleStyle(Serie serie, SerieData serieData)
|
||||||
|
{
|
||||||
|
if (serieData != null && serieData.titleStyle != null) return serieData.titleStyle;
|
||||||
|
else return serie.titleStyle;
|
||||||
|
}
|
||||||
|
|
||||||
public static Color32 GetAreaColor(Serie serie, SerieData serieData, ThemeStyle theme, int index, bool highlight)
|
public static Color32 GetAreaColor(Serie serie, SerieData serieData, ThemeStyle theme, int index, bool highlight)
|
||||||
{
|
{
|
||||||
Color32 color = ChartConst.clearColor32;
|
Color32 color = ChartConst.clearColor32;
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ namespace XCharts
|
|||||||
serieData.context.labelPosition = serie.context.center;
|
serieData.context.labelPosition = serie.context.center;
|
||||||
break;
|
break;
|
||||||
case LabelStyle.Position.Inside:
|
case LabelStyle.Position.Inside:
|
||||||
var labelRadius = offsetRadius + insideRadius + (outsideRadius - insideRadius) / 2 + serieLabel.margin;
|
var labelRadius = offsetRadius + insideRadius + (outsideRadius - insideRadius) / 2 + serieLabel.distance;
|
||||||
var labelCenter = new Vector2(serie.context.center.x + labelRadius * Mathf.Sin(currRad),
|
var labelCenter = new Vector2(serie.context.center.x + labelRadius * Mathf.Sin(currRad),
|
||||||
serie.context.center.y + labelRadius * Mathf.Cos(currRad));
|
serie.context.center.y + labelRadius * Mathf.Cos(currRad));
|
||||||
serieData.context.labelPosition = labelCenter;
|
serieData.context.labelPosition = labelCenter;
|
||||||
|
|||||||
@@ -86,6 +86,10 @@ namespace XCharts
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Action<VertexHelper> onCustomDrawTop { set { m_OnCustomDrawTopCallback = value; } }
|
public Action<VertexHelper> onCustomDrawTop { set { m_OnCustomDrawTopCallback = value; } }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 自定义仪表盘指针绘制回调。参数:SerieIndex,SerieDataIndex,currAngle
|
||||||
|
/// </summary>
|
||||||
|
public Action<VertexHelper, int, int, float> onCustomDrawGagugePointer { set { m_OnCustomDrawGagugePointerCallback = value; } get { return m_OnCustomDrawGagugePointerCallback; } }
|
||||||
|
/// <summary>
|
||||||
/// the callback function of click pie area.
|
/// the callback function of click pie area.
|
||||||
/// 点击饼图区域回调。参数:PointerEventData,SerieIndex,SerieDataIndex
|
/// 点击饼图区域回调。参数:PointerEventData,SerieIndex,SerieDataIndex
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ namespace XCharts
|
|||||||
protected Action<VertexHelper> m_OnCustomDrawTopCallback;
|
protected Action<VertexHelper> m_OnCustomDrawTopCallback;
|
||||||
protected Action<VertexHelper, Serie> m_OnCustomDrawSerieBeforeCallback;
|
protected Action<VertexHelper, Serie> m_OnCustomDrawSerieBeforeCallback;
|
||||||
protected Action<VertexHelper, Serie> m_OnCustomDrawSerieAfterCallback;
|
protected Action<VertexHelper, Serie> m_OnCustomDrawSerieAfterCallback;
|
||||||
|
protected Action<VertexHelper, int, int, float> m_OnCustomDrawGagugePointerCallback;
|
||||||
protected Action<PointerEventData, int, int> m_OnPointerClickPie;
|
protected Action<PointerEventData, int, int> m_OnPointerClickPie;
|
||||||
protected Action<PointerEventData, int> m_OnPointerClickBar;
|
protected Action<PointerEventData, int> m_OnPointerClickBar;
|
||||||
protected Action<Axis, double> m_OnUpdateAxisPointer;
|
protected Action<Axis, double> m_OnUpdateAxisPointer;
|
||||||
|
|||||||
@@ -188,8 +188,10 @@ namespace XCharts
|
|||||||
m_LabelRect.sizeDelta = newSize;
|
m_LabelRect.sizeDelta = newSize;
|
||||||
if (m_LabelBackgroundRect != null)
|
if (m_LabelBackgroundRect != null)
|
||||||
m_LabelBackgroundRect.sizeDelta = newSize;
|
m_LabelBackgroundRect.sizeDelta = newSize;
|
||||||
|
if (!isIconActive && m_ObjectRect != null)
|
||||||
|
m_ObjectRect.sizeDelta = newSize;
|
||||||
AdjustIconPos();
|
AdjustIconPos();
|
||||||
|
|
||||||
}
|
}
|
||||||
return sizeChange;
|
return sizeChange;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -415,6 +415,21 @@ namespace XCharts
|
|||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ChartLabel AddDefaultChartLabel(string name, Transform parent,
|
||||||
|
Vector2 anchorMin, Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta, TextStyle textStyle, ComponentTheme theme,
|
||||||
|
string content)
|
||||||
|
{
|
||||||
|
var labelObj = AddObject(name, parent, anchorMin, anchorMax, pivot, sizeDelta);
|
||||||
|
var label = GetOrAddComponent<ChartLabel>(labelObj);
|
||||||
|
label.label = AddTextObject("Text", label.gameObject.transform, anchorMin, anchorMax, pivot, sizeDelta, textStyle, theme);
|
||||||
|
label.icon = ChartHelper.AddIcon("Icon", label.gameObject.transform, 0, 0);
|
||||||
|
label.SetAutoSize(true);
|
||||||
|
label.label.SetActive(true);
|
||||||
|
label.SetText(content);
|
||||||
|
label.color = textStyle.color;
|
||||||
|
return label;
|
||||||
|
}
|
||||||
|
|
||||||
internal static GameObject AddSerieLabel(string name, Transform parent, float width, float height,
|
internal static GameObject AddSerieLabel(string name, Transform parent, float width, float height,
|
||||||
Color color, TextStyle textStyle, ThemeStyle theme)
|
Color color, TextStyle textStyle, ThemeStyle theme)
|
||||||
{
|
{
|
||||||
@@ -906,5 +921,11 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
return !ChartHelper.IsClearColor(color) && color.a == 0;
|
return !ChartHelper.IsClearColor(color) && color.a == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static float GetActualValue(float valueOrRate, float total)
|
||||||
|
{
|
||||||
|
if (valueOrRate >= -1.5f && valueOrRate <= 1.5f) return valueOrRate * total;
|
||||||
|
else return valueOrRate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
[SerieHandler(typeof(RingHandler), true)]
|
[SerieHandler(typeof(RingHandler), true)]
|
||||||
[SerieExtraComponent(typeof(LabelStyle), typeof(Emphasis))]
|
[SerieExtraComponent(typeof(LabelStyle), typeof(TitleStyle), typeof(Emphasis))]
|
||||||
public class Ring : Serie
|
public class Ring : Serie
|
||||||
{
|
{
|
||||||
public override bool useDataNameForColor { get { return true; } }
|
public override bool useDataNameForColor { get { return true; } }
|
||||||
@@ -14,13 +14,17 @@ namespace XCharts
|
|||||||
var serie = chart.AddSerie<Ring>(serieName);
|
var serie = chart.AddSerie<Ring>(serieName);
|
||||||
serie.roundCap = true;
|
serie.roundCap = true;
|
||||||
serie.radius = new float[] { 0.3f, 0.35f };
|
serie.radius = new float[] { 0.3f, 0.35f };
|
||||||
serie.titleStyle.show = false;
|
|
||||||
serie.titleStyle.textStyle.offset = new Vector2(0, 30);
|
|
||||||
serie.AddExtraComponent<LabelStyle>();
|
serie.AddExtraComponent<LabelStyle>();
|
||||||
serie.label.show = true;
|
serie.label.show = true;
|
||||||
serie.label.position = LabelStyle.Position.Center;
|
serie.label.position = LabelStyle.Position.Center;
|
||||||
serie.label.formatter = "{d:f0}%";
|
serie.label.formatter = "{d:f0}%";
|
||||||
serie.label.textStyle.fontSize = 28;
|
serie.label.textStyle.fontSize = 28;
|
||||||
|
|
||||||
|
serie.AddExtraComponent<TitleStyle>();
|
||||||
|
serie.titleStyle.show = false;
|
||||||
|
serie.titleStyle.textStyle.offset = new Vector2(0, 30);
|
||||||
|
|
||||||
var value = Random.Range(30, 90);
|
var value = Random.Range(30, 90);
|
||||||
var max = 100;
|
var max = 100;
|
||||||
chart.AddData(serie.index, value, max, "data1");
|
chart.AddData(serie.index, value, max, "data1");
|
||||||
|
|||||||
@@ -247,12 +247,12 @@ namespace XCharts
|
|||||||
case LabelStyle.Position.Bottom:
|
case LabelStyle.Position.Bottom:
|
||||||
var px1 = Mathf.Sin(startAngle * Mathf.Deg2Rad) * centerRadius;
|
var px1 = Mathf.Sin(startAngle * Mathf.Deg2Rad) * centerRadius;
|
||||||
var py1 = Mathf.Cos(startAngle * Mathf.Deg2Rad) * centerRadius;
|
var py1 = Mathf.Cos(startAngle * Mathf.Deg2Rad) * centerRadius;
|
||||||
var xDiff = serie.clockwise ? -label.margin : label.margin;
|
var xDiff = serie.clockwise ? -label.distance : label.distance;
|
||||||
serieData.context.labelPosition = serie.context.center + new Vector3(px1 + xDiff, py1);
|
serieData.context.labelPosition = serie.context.center + new Vector3(px1 + xDiff, py1);
|
||||||
break;
|
break;
|
||||||
case LabelStyle.Position.Top:
|
case LabelStyle.Position.Top:
|
||||||
startAngle += serie.clockwise ? -label.margin : label.margin;
|
startAngle += serie.clockwise ? -label.distance : label.distance;
|
||||||
toAngle += serie.clockwise ? label.margin : -label.margin;
|
toAngle += serie.clockwise ? label.distance : -label.distance;
|
||||||
var px2 = Mathf.Sin(toAngle * Mathf.Deg2Rad) * centerRadius;
|
var px2 = Mathf.Sin(toAngle * Mathf.Deg2Rad) * centerRadius;
|
||||||
var py2 = Mathf.Cos(toAngle * Mathf.Deg2Rad) * centerRadius;
|
var py2 = Mathf.Cos(toAngle * Mathf.Deg2Rad) * centerRadius;
|
||||||
serieData.context.labelPosition = serie.context.center + new Vector3(px2, py2);
|
serieData.context.labelPosition = serie.context.center + new Vector3(px2, py2);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace XCharts
|
|||||||
{typeof(AreaStyle), "m_AreaStyles"},
|
{typeof(AreaStyle), "m_AreaStyles"},
|
||||||
{typeof(IconStyle), "m_IconStyles"},
|
{typeof(IconStyle), "m_IconStyles"},
|
||||||
{typeof(Emphasis), "m_Emphases"},
|
{typeof(Emphasis), "m_Emphases"},
|
||||||
|
{typeof(TitleStyle), "m_TitleStyles"},
|
||||||
};
|
};
|
||||||
|
|
||||||
[SerializeField] private List<LabelStyle> m_Labels = new List<LabelStyle>();
|
[SerializeField] private List<LabelStyle> m_Labels = new List<LabelStyle>();
|
||||||
@@ -24,6 +25,7 @@ namespace XCharts
|
|||||||
[SerializeField] private List<LineArrow> m_LineArrows = new List<LineArrow>();
|
[SerializeField] private List<LineArrow> m_LineArrows = new List<LineArrow>();
|
||||||
[SerializeField] private List<AreaStyle> m_AreaStyles = new List<AreaStyle>();
|
[SerializeField] private List<AreaStyle> m_AreaStyles = new List<AreaStyle>();
|
||||||
[SerializeField] private List<IconStyle> m_IconStyles = new List<IconStyle>();
|
[SerializeField] private List<IconStyle> m_IconStyles = new List<IconStyle>();
|
||||||
|
[SerializeField] private List<TitleStyle> m_TitleStyles = new List<TitleStyle>();
|
||||||
[SerializeField] private List<Emphasis> m_Emphases = new List<Emphasis>();
|
[SerializeField] private List<Emphasis> m_Emphases = new List<Emphasis>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -56,6 +58,11 @@ namespace XCharts
|
|||||||
/// 数据项图标样式。
|
/// 数据项图标样式。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IconStyle iconStyle { get { return m_IconStyles.Count > 0 ? m_IconStyles[0] : null; } }
|
public IconStyle iconStyle { get { return m_IconStyles.Count > 0 ? m_IconStyles[0] : null; } }
|
||||||
|
/// <summary>
|
||||||
|
/// the icon of data.
|
||||||
|
/// 数据项标题样式。
|
||||||
|
/// </summary>
|
||||||
|
public TitleStyle titleStyle { get { return m_TitleStyles.Count > 0 ? m_TitleStyles[0] : null; } }
|
||||||
|
|
||||||
public void RemoveAllExtraComponent()
|
public void RemoveAllExtraComponent()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -235,7 +235,6 @@ namespace XCharts
|
|||||||
[SerializeField] private SymbolStyle m_Symbol = new SymbolStyle();
|
[SerializeField] private SymbolStyle m_Symbol = new SymbolStyle();
|
||||||
[SerializeField] private AnimationStyle m_Animation = new AnimationStyle();
|
[SerializeField] private AnimationStyle m_Animation = new AnimationStyle();
|
||||||
[SerializeField] private ItemStyle m_ItemStyle = new ItemStyle();
|
[SerializeField] private ItemStyle m_ItemStyle = new ItemStyle();
|
||||||
[SerializeField] private TitleStyle m_TitleStyle = new TitleStyle();
|
|
||||||
[SerializeField] private List<SerieData> m_Data = new List<SerieData>();
|
[SerializeField] private List<SerieData> m_Data = new List<SerieData>();
|
||||||
|
|
||||||
[NonSerialized] internal int m_FilterStart;
|
[NonSerialized] internal int m_FilterStart;
|
||||||
@@ -710,14 +709,6 @@ namespace XCharts
|
|||||||
set { if (PropertyUtil.SetClass(ref m_ItemStyle, value, true)) SetVerticesDirty(); }
|
set { if (PropertyUtil.SetClass(ref m_ItemStyle, value, true)) SetVerticesDirty(); }
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 标题样式。
|
|
||||||
/// </summary>
|
|
||||||
public TitleStyle titleStyle
|
|
||||||
{
|
|
||||||
get { return m_TitleStyle; }
|
|
||||||
set { if (PropertyUtil.SetClass(ref m_TitleStyle, value, true)) SetAllDirty(); }
|
|
||||||
}
|
|
||||||
/// <summary>
|
|
||||||
/// 数据项里的数据维数。
|
/// 数据项里的数据维数。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int showDataDimension { get { return m_ShowDataDimension; } set { m_ShowDataDimension = value; } }
|
public int showDataDimension { get { return m_ShowDataDimension; } set { m_ShowDataDimension = value; } }
|
||||||
@@ -879,18 +870,25 @@ namespace XCharts
|
|||||||
itemStyle.vertsDirty ||
|
itemStyle.vertsDirty ||
|
||||||
(areaStyle != null && areaStyle.vertsDirty) ||
|
(areaStyle != null && areaStyle.vertsDirty) ||
|
||||||
(label != null && label.vertsDirty) ||
|
(label != null && label.vertsDirty) ||
|
||||||
(emphasis != null && emphasis.vertsDirty);
|
(emphasis != null && emphasis.vertsDirty) ||
|
||||||
|
(titleStyle != null && titleStyle.vertsDirty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool componentDirty { get { return m_ComponentDirty || titleStyle.componentDirty; } }
|
public override bool componentDirty
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_ComponentDirty
|
||||||
|
|| (titleStyle != null && titleStyle.componentDirty);
|
||||||
|
}
|
||||||
|
}
|
||||||
public override void ClearVerticesDirty()
|
public override void ClearVerticesDirty()
|
||||||
{
|
{
|
||||||
base.ClearVerticesDirty();
|
base.ClearVerticesDirty();
|
||||||
symbol.ClearVerticesDirty();
|
symbol.ClearVerticesDirty();
|
||||||
lineStyle.ClearVerticesDirty();
|
lineStyle.ClearVerticesDirty();
|
||||||
itemStyle.ClearVerticesDirty();
|
itemStyle.ClearVerticesDirty();
|
||||||
titleStyle.ClearVerticesDirty();
|
|
||||||
if (iconStyle != null)
|
if (iconStyle != null)
|
||||||
iconStyle.ClearVerticesDirty();
|
iconStyle.ClearVerticesDirty();
|
||||||
if (areaStyle != null)
|
if (areaStyle != null)
|
||||||
@@ -901,6 +899,8 @@ namespace XCharts
|
|||||||
emphasis.ClearVerticesDirty();
|
emphasis.ClearVerticesDirty();
|
||||||
if (lineArrow != null)
|
if (lineArrow != null)
|
||||||
lineArrow.ClearVerticesDirty();
|
lineArrow.ClearVerticesDirty();
|
||||||
|
if (titleStyle != null)
|
||||||
|
titleStyle.ClearVerticesDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ClearComponentDirty()
|
public override void ClearComponentDirty()
|
||||||
@@ -909,8 +909,6 @@ namespace XCharts
|
|||||||
symbol.ClearComponentDirty();
|
symbol.ClearComponentDirty();
|
||||||
lineStyle.ClearComponentDirty();
|
lineStyle.ClearComponentDirty();
|
||||||
itemStyle.ClearComponentDirty();
|
itemStyle.ClearComponentDirty();
|
||||||
emphasis.ClearComponentDirty();
|
|
||||||
titleStyle.ClearComponentDirty();
|
|
||||||
if (iconStyle != null)
|
if (iconStyle != null)
|
||||||
iconStyle.ClearComponentDirty();
|
iconStyle.ClearComponentDirty();
|
||||||
if (areaStyle != null)
|
if (areaStyle != null)
|
||||||
@@ -921,6 +919,8 @@ namespace XCharts
|
|||||||
emphasis.ClearComponentDirty();
|
emphasis.ClearComponentDirty();
|
||||||
if (lineArrow != null)
|
if (lineArrow != null)
|
||||||
lineArrow.ClearComponentDirty();
|
lineArrow.ClearComponentDirty();
|
||||||
|
if (titleStyle != null)
|
||||||
|
titleStyle.ClearComponentDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void SetAllDirty()
|
public override void SetAllDirty()
|
||||||
|
|||||||
@@ -39,11 +39,11 @@ namespace XCharts
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 内半径
|
/// 内半径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float insideRadius { get; internal set; }
|
public float insideRadius { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 外半径
|
/// 外半径
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public float outsideRadius { get; internal set; }
|
public float outsideRadius { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 最大值
|
/// 最大值
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -25,12 +25,14 @@ namespace XCharts
|
|||||||
[SerializeField] private List<IconStyle> m_IconStyles = new List<IconStyle>();
|
[SerializeField] private List<IconStyle> m_IconStyles = new List<IconStyle>();
|
||||||
[SerializeField] private List<LineStyle> m_LineStyles = new List<LineStyle>();
|
[SerializeField] private List<LineStyle> m_LineStyles = new List<LineStyle>();
|
||||||
[SerializeField] private List<AreaStyle> m_AreaStyles = new List<AreaStyle>();
|
[SerializeField] private List<AreaStyle> m_AreaStyles = new List<AreaStyle>();
|
||||||
|
[SerializeField] private List<TitleStyle> m_TitleStyles = new List<TitleStyle>();
|
||||||
[SerializeField] private List<double> m_Data = new List<double>();
|
[SerializeField] private List<double> m_Data = new List<double>();
|
||||||
[SerializeField] private List<int> m_Children = new List<int>();
|
[SerializeField] private List<int> m_Children = new List<int>();
|
||||||
|
|
||||||
[NonSerialized] public SerieDataContext context = new SerieDataContext();
|
[NonSerialized] public SerieDataContext context = new SerieDataContext();
|
||||||
[NonSerialized] public InteractData interact = new InteractData();
|
[NonSerialized] public InteractData interact = new InteractData();
|
||||||
public ChartLabel labelObject { get; set; }
|
public ChartLabel labelObject { get; set; }
|
||||||
|
public ChartLabel titleObject { get; set; }
|
||||||
|
|
||||||
private bool m_Show = true;
|
private bool m_Show = true;
|
||||||
|
|
||||||
@@ -81,6 +83,7 @@ namespace XCharts
|
|||||||
public SymbolStyle symbol { get { return m_Symbols.Count > 0 ? m_Symbols[0] : null; } }
|
public SymbolStyle symbol { get { return m_Symbols.Count > 0 ? m_Symbols[0] : null; } }
|
||||||
public LineStyle lineStyle { get { return m_LineStyles.Count > 0 ? m_LineStyles[0] : null; } }
|
public LineStyle lineStyle { get { return m_LineStyles.Count > 0 ? m_LineStyles[0] : null; } }
|
||||||
public AreaStyle areaStyle { get { return m_AreaStyles.Count > 0 ? m_AreaStyles[0] : null; } }
|
public AreaStyle areaStyle { get { return m_AreaStyles.Count > 0 ? m_AreaStyles[0] : null; } }
|
||||||
|
public TitleStyle titleStyle { get { return m_TitleStyles.Count > 0 ? m_TitleStyles[0] : null; } }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否忽略数据。当为 true 时,数据不进行绘制。
|
/// 是否忽略数据。当为 true 时,数据不进行绘制。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -130,6 +133,7 @@ namespace XCharts
|
|||||||
m_Symbols.Clear();
|
m_Symbols.Clear();
|
||||||
m_LineStyles.Clear();
|
m_LineStyles.Clear();
|
||||||
m_AreaStyles.Clear();
|
m_AreaStyles.Clear();
|
||||||
|
m_TitleStyles.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public T GetOrAddComponent<T>() where T : ChildComponent
|
public T GetOrAddComponent<T>() where T : ChildComponent
|
||||||
@@ -183,6 +187,12 @@ namespace XCharts
|
|||||||
m_AreaStyles.Add(new AreaStyle() { show = true });
|
m_AreaStyles.Add(new AreaStyle() { show = true });
|
||||||
return m_AreaStyles[0] as T;
|
return m_AreaStyles[0] as T;
|
||||||
}
|
}
|
||||||
|
else if (type == typeof(TitleStyle))
|
||||||
|
{
|
||||||
|
if (m_TitleStyles.Count == 0)
|
||||||
|
m_TitleStyles.Add(new TitleStyle() { show = true });
|
||||||
|
return m_TitleStyles[0] as T;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new System.Exception("SerieData not support component:" + type);
|
throw new System.Exception("SerieData not support component:" + type);
|
||||||
@@ -199,6 +209,7 @@ namespace XCharts
|
|||||||
m_Emphases.Clear();
|
m_Emphases.Clear();
|
||||||
m_LineStyles.Clear();
|
m_LineStyles.Clear();
|
||||||
m_AreaStyles.Clear();
|
m_AreaStyles.Clear();
|
||||||
|
m_TitleStyles.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveComponent<T>() where T : ISerieDataComponent
|
public void RemoveComponent<T>() where T : ISerieDataComponent
|
||||||
@@ -220,6 +231,8 @@ namespace XCharts
|
|||||||
m_LineStyles.Clear();
|
m_LineStyles.Clear();
|
||||||
else if (type == typeof(AreaStyle))
|
else if (type == typeof(AreaStyle))
|
||||||
m_AreaStyles.Clear();
|
m_AreaStyles.Clear();
|
||||||
|
else if (type == typeof(TitleStyle))
|
||||||
|
m_TitleStyles.Clear();
|
||||||
else
|
else
|
||||||
throw new System.Exception("SerieData not support component:" + type);
|
throw new System.Exception("SerieData not support component:" + type);
|
||||||
}
|
}
|
||||||
@@ -427,6 +440,11 @@ namespace XCharts
|
|||||||
m_PolygonPoints.Add(p3);
|
m_PolygonPoints.Add(p3);
|
||||||
m_PolygonPoints.Add(p4);
|
m_PolygonPoints.Add(p4);
|
||||||
}
|
}
|
||||||
|
public void SetPolygon(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, Vector2 p5)
|
||||||
|
{
|
||||||
|
SetPolygon(p1, p2, p3, p4);
|
||||||
|
m_PolygonPoints.Add(p5);
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsInPolygon(Vector2 p)
|
public bool IsInPolygon(Vector2 p)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -45,7 +45,8 @@ namespace XCharts
|
|||||||
public abstract class SerieHandler<T> : SerieHandler where T : Serie
|
public abstract class SerieHandler<T> : SerieHandler where T : Serie
|
||||||
{
|
{
|
||||||
private static readonly string s_SerieLabelObjectName = "label";
|
private static readonly string s_SerieLabelObjectName = "label";
|
||||||
private static readonly string s_SerieTitleObjectName = "serie";
|
private static readonly string s_SerieTitleObjectName = "title";
|
||||||
|
private static readonly string s_SerieRootObjectName = "serie";
|
||||||
protected GameObject m_SerieRoot;
|
protected GameObject m_SerieRoot;
|
||||||
protected bool m_InitedLabel;
|
protected bool m_InitedLabel;
|
||||||
protected bool m_NeedInitComponent;
|
protected bool m_NeedInitComponent;
|
||||||
@@ -82,7 +83,7 @@ namespace XCharts
|
|||||||
serie.label.ClearComponentDirty();
|
serie.label.ClearComponentDirty();
|
||||||
InitSerieLabel();
|
InitSerieLabel();
|
||||||
}
|
}
|
||||||
if (serie.titleDirty || serie.titleStyle.componentDirty)
|
if (serie.titleStyle != null && (serie.titleDirty || serie.titleStyle.componentDirty))
|
||||||
{
|
{
|
||||||
serie.titleDirty = false;
|
serie.titleDirty = false;
|
||||||
serie.titleStyle.ClearComponentDirty();
|
serie.titleStyle.ClearComponentDirty();
|
||||||
@@ -169,7 +170,7 @@ namespace XCharts
|
|||||||
private void InitRoot()
|
private void InitRoot()
|
||||||
{
|
{
|
||||||
if (m_SerieRoot != null) return;
|
if (m_SerieRoot != null) return;
|
||||||
var objName = s_SerieTitleObjectName + "_" + serie.index;
|
var objName = s_SerieRootObjectName + "_" + serie.index;
|
||||||
m_SerieRoot = ChartHelper.AddObject(objName, chart.transform, chart.chartMinAnchor,
|
m_SerieRoot = ChartHelper.AddObject(objName, chart.transform, chart.chartMinAnchor,
|
||||||
chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
|
chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
|
||||||
m_SerieRoot.hideFlags = chart.chartHideFlags;
|
m_SerieRoot.hideFlags = chart.chartHideFlags;
|
||||||
@@ -198,6 +199,7 @@ namespace XCharts
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
RefreshLabelInternal();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool AddSerieLabel(GameObject serieLabelRoot, Serie serie, SerieData serieData, ref int count)
|
protected bool AddSerieLabel(GameObject serieLabelRoot, Serie serie, SerieData serieData, ref int count)
|
||||||
@@ -231,7 +233,10 @@ namespace XCharts
|
|||||||
item.SetLabel(labelObj, isAutoSize, serieLabel.paddingLeftRight, serieLabel.paddingTopBottom);
|
item.SetLabel(labelObj, isAutoSize, serieLabel.paddingLeftRight, serieLabel.paddingTopBottom);
|
||||||
item.SetIcon(iconImage);
|
item.SetIcon(iconImage);
|
||||||
item.SetIconActive(iconStyle != null && iconStyle.show);
|
item.SetIconActive(iconStyle != null && iconStyle.show);
|
||||||
item.color = serieLabel.textStyle.backgroundColor;
|
if (serieLabel.textStyle.autoBackgroundColor)
|
||||||
|
item.color = chart.theme.GetColor(serieData.index);
|
||||||
|
else
|
||||||
|
item.color = serieLabel.textStyle.backgroundColor;
|
||||||
serieData.labelObject = item;
|
serieData.labelObject = item;
|
||||||
|
|
||||||
foreach (var data in serieData.children)
|
foreach (var data in serieData.children)
|
||||||
@@ -247,28 +252,35 @@ namespace XCharts
|
|||||||
{
|
{
|
||||||
if (m_SerieRoot == null)
|
if (m_SerieRoot == null)
|
||||||
InitRoot();
|
InitRoot();
|
||||||
var textStyle = serie.titleStyle.textStyle;
|
var serieTitleRoot = ChartHelper.AddObject(s_SerieTitleObjectName, m_SerieRoot.transform,
|
||||||
var titleColor = ChartHelper.IsClearColor(textStyle.color)
|
chart.chartMinAnchor, chart.chartMaxAnchor, chart.chartPivot, chart.chartSizeDelta);
|
||||||
? chart.theme.GetColor(serie.index)
|
serieTitleRoot.hideFlags = chart.chartHideFlags;
|
||||||
: (Color32)textStyle.color;
|
SerieLabelPool.ReleaseAll(serieTitleRoot.transform);
|
||||||
|
ChartHelper.RemoveComponent<Text>(serieTitleRoot);
|
||||||
|
|
||||||
|
SerieHelper.UpdateCenter(serie, chart.chartPosition, chart.chartWidth, chart.chartHeight);
|
||||||
var anchorMin = new Vector2(0.5f, 0.5f);
|
var anchorMin = new Vector2(0.5f, 0.5f);
|
||||||
var anchorMax = new Vector2(0.5f, 0.5f);
|
var anchorMax = new Vector2(0.5f, 0.5f);
|
||||||
var pivot = new Vector2(0.5f, 0.5f);
|
var pivot = new Vector2(0.5f, 0.5f);
|
||||||
var fontSize = 10;
|
var fontSize = 10;
|
||||||
var sizeDelta = new Vector2(50, fontSize + 2);
|
var sizeDelta = new Vector2(50, fontSize + 2);
|
||||||
var txt = ChartHelper.AddTextObject("title", m_SerieRoot.transform, anchorMin, anchorMax,
|
for (int i = 0; i < serie.dataCount; i++)
|
||||||
pivot, sizeDelta, textStyle, chart.theme.common);
|
|
||||||
txt.SetText("");
|
|
||||||
txt.SetColor(titleColor);
|
|
||||||
txt.SetLocalPosition(Vector2.zero);
|
|
||||||
txt.SetLocalEulerAngles(Vector2.zero);
|
|
||||||
txt.SetActive(serie.titleStyle.show);
|
|
||||||
serie.titleStyle.runtimeText = txt;
|
|
||||||
serie.titleStyle.UpdatePosition(serie.context.center);
|
|
||||||
var serieData = serie.GetSerieData(0);
|
|
||||||
if (serieData != null)
|
|
||||||
{
|
{
|
||||||
txt.SetText(serieData.name);
|
var serieData = serie.data[i];
|
||||||
|
var titleStyle = SerieHelper.GetTitleStyle(serie, serieData);
|
||||||
|
if (titleStyle == null) continue;
|
||||||
|
var color = chart.GetLegendRealShowNameColor(serieData.name);
|
||||||
|
var label = ChartHelper.AddDefaultChartLabel("title_" + i, serieTitleRoot.transform, anchorMin, anchorMax,
|
||||||
|
pivot, sizeDelta, titleStyle.textStyle, chart.theme.common, serieData.name);
|
||||||
|
serieData.titleObject = label;
|
||||||
|
label.SetActive(titleStyle.show);
|
||||||
|
var labelPosition = GetSerieDataTitlePosition(serieData, titleStyle);
|
||||||
|
var offset = titleStyle.GetOffset(serie.context.insideRadius);
|
||||||
|
label.SetPosition(labelPosition + offset);
|
||||||
|
if (titleStyle.textStyle.autoBackgroundColor)
|
||||||
|
label.color = color;
|
||||||
|
else
|
||||||
|
label.color = titleStyle.textStyle.backgroundColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,7 +291,7 @@ namespace XCharts
|
|||||||
|
|
||||||
var colorIndex = chart.GetLegendRealShowNameIndex(serie.legendName);
|
var colorIndex = chart.GetLegendRealShowNameIndex(serie.legendName);
|
||||||
var total = serie.GetDataTotal(defaultDimension);
|
var total = serie.GetDataTotal(defaultDimension);
|
||||||
var isNeedInvertPositionSerie = serie is Line;
|
var dataChangeDuration = serie.animation.GetUpdateAnimationDuration();
|
||||||
|
|
||||||
foreach (var serieData in serie.data)
|
foreach (var serieData in serie.data)
|
||||||
{
|
{
|
||||||
@@ -292,7 +304,6 @@ namespace XCharts
|
|||||||
var isIgnore = serie.IsIgnoreIndex(serieData.index, defaultDimension);
|
var isIgnore = serie.IsIgnoreIndex(serieData.index, defaultDimension);
|
||||||
var currLabel = isHighlight && emphasisLabel != null ? emphasisLabel : serieLabel;
|
var currLabel = isHighlight && emphasisLabel != null ? emphasisLabel : serieLabel;
|
||||||
|
|
||||||
serieData.labelObject.SetPosition(serieData.context.position);
|
|
||||||
serieData.labelObject.UpdateIcon(iconStyle);
|
serieData.labelObject.UpdateIcon(iconStyle);
|
||||||
if (serie.show
|
if (serie.show
|
||||||
&& currLabel != null
|
&& currLabel != null
|
||||||
@@ -300,17 +311,12 @@ namespace XCharts
|
|||||||
&& serieData.context.canShowLabel
|
&& serieData.context.canShowLabel
|
||||||
&& !isIgnore)
|
&& !isIgnore)
|
||||||
{
|
{
|
||||||
var value = serieData.GetData(defaultDimension);
|
//var value = serieData.GetData(defaultDimension);
|
||||||
var content = serie.useDataNameForColor && string.IsNullOrEmpty(currLabel.formatter)
|
var value = serieData.GetCurrData(defaultDimension, dataChangeDuration);
|
||||||
? serieData.name
|
var content = string.IsNullOrEmpty(currLabel.formatter)
|
||||||
|
? ChartCached.NumberToStr(value, serieLabel.numericFormatter)
|
||||||
: SerieLabelHelper.GetFormatterContent(serie, serieData, value, total,
|
: SerieLabelHelper.GetFormatterContent(serie, serieData, value, total,
|
||||||
currLabel, chart.theme.GetColor(colorIndex));
|
currLabel, chart.theme.GetColor(colorIndex));
|
||||||
|
|
||||||
var invert = currLabel.autoOffset
|
|
||||||
&& isNeedInvertPositionSerie
|
|
||||||
&& SerieHelper.IsDownPoint(serie, serieData.index)
|
|
||||||
&& (serie.areaStyle == null || !serie.areaStyle.show);
|
|
||||||
var labelPosition = GetSerieDataLabelPosition(serieData, currLabel);
|
|
||||||
var isInsidePosition = currLabel.position == LabelStyle.Position.Inside;
|
var isInsidePosition = currLabel.position == LabelStyle.Position.Inside;
|
||||||
|
|
||||||
//text color
|
//text color
|
||||||
@@ -332,9 +338,9 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
SerieLabelHelper.ResetLabel(serieData.labelObject.label, currLabel, chart.theme, textColor, rotate);
|
SerieLabelHelper.ResetLabel(serieData.labelObject.label, currLabel, chart.theme, textColor, rotate);
|
||||||
serieData.SetLabelActive(!isIgnore);
|
serieData.SetLabelActive(!isIgnore);
|
||||||
serieData.labelObject.SetPosition(labelPosition
|
|
||||||
+ (invert ? -currLabel.offset : currLabel.offset));
|
|
||||||
serieData.labelObject.SetText(content);
|
serieData.labelObject.SetText(content);
|
||||||
|
UpdateLabelPosition(serieData, currLabel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -343,11 +349,29 @@ namespace XCharts
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void UpdateLabelPosition(SerieData serieData, LabelStyle currLabel)
|
||||||
|
{
|
||||||
|
var isNeedInvertPositionSerie = serie is Line;
|
||||||
|
var invert = currLabel.autoOffset
|
||||||
|
&& isNeedInvertPositionSerie
|
||||||
|
&& SerieHelper.IsDownPoint(serie, serieData.index)
|
||||||
|
&& (serie.areaStyle == null || !serie.areaStyle.show);
|
||||||
|
var labelPosition = GetSerieDataLabelPosition(serieData, currLabel);
|
||||||
|
var offset = currLabel.GetOffset(serie.context.insideRadius);
|
||||||
|
serieData.labelObject.SetPosition(labelPosition
|
||||||
|
+ (invert ? -offset : offset));
|
||||||
|
}
|
||||||
|
|
||||||
public virtual Vector3 GetSerieDataLabelPosition(SerieData serieData, LabelStyle label)
|
public virtual Vector3 GetSerieDataLabelPosition(SerieData serieData, LabelStyle label)
|
||||||
{
|
{
|
||||||
return serieData.context.position;
|
return serieData.context.position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual Vector3 GetSerieDataTitlePosition(SerieData serieData, TitleStyle titleStyle)
|
||||||
|
{
|
||||||
|
return serieData.context.position;
|
||||||
|
}
|
||||||
|
|
||||||
protected void UpdateCoordSerieParams(ref List<SerieParams> paramList, ref string title,
|
protected void UpdateCoordSerieParams(ref List<SerieParams> paramList, ref string title,
|
||||||
int dataIndex, bool showCategory, string category, string marker,
|
int dataIndex, bool showCategory, string category, string marker,
|
||||||
string itemFormatter, string numericFormatter)
|
string itemFormatter, string numericFormatter)
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEngine;
|
|
||||||
|
|
||||||
namespace XCharts
|
|
||||||
{
|
|
||||||
[Serializable]
|
|
||||||
public class GaugeAxisTheme : BaseAxisTheme
|
|
||||||
{
|
|
||||||
[SerializeField] private Color32 m_BarBackgroundColor;
|
|
||||||
[SerializeField]
|
|
||||||
private List<StageColor> m_StageColor = new List<StageColor>()
|
|
||||||
{
|
|
||||||
new StageColor(0.2f,new Color32(145,199,174,255)),
|
|
||||||
new StageColor(0.8f,new Color32(99,134,158,255)),
|
|
||||||
new StageColor(1.0f,new Color32(194,53,49,255)),
|
|
||||||
};
|
|
||||||
/// <summary>
|
|
||||||
/// 进度条背景颜色。
|
|
||||||
/// </summary>
|
|
||||||
public Color32 barBackgroundColor { get { return m_BarBackgroundColor; } set { m_BarBackgroundColor = value; } }
|
|
||||||
/// <summary>
|
|
||||||
/// 阶段颜色。
|
|
||||||
/// </summary>
|
|
||||||
public List<StageColor> stageColor { get { return m_StageColor; } set { m_StageColor = value; } }
|
|
||||||
|
|
||||||
public GaugeAxisTheme(ThemeType theme) : base(theme)
|
|
||||||
{
|
|
||||||
m_LineWidth = XCSettings.gaugeAxisLineWidth;
|
|
||||||
m_LineLength = 0;
|
|
||||||
m_SplitLineWidth = XCSettings.gaugeAxisSplitLineWidth;
|
|
||||||
m_SplitLineLength = XCSettings.gaugeAxisSplitLineLength;
|
|
||||||
m_TickWidth = XCSettings.gaugeAxisTickWidth;
|
|
||||||
m_TickLength = XCSettings.gaugeAxisTickLength;
|
|
||||||
m_SplitLineColor = Color.white;
|
|
||||||
m_TickColor = Color.white;
|
|
||||||
switch (theme)
|
|
||||||
{
|
|
||||||
case ThemeType.Default:
|
|
||||||
m_BarBackgroundColor = new Color32(200, 200, 200, 255);
|
|
||||||
m_StageColor = new List<StageColor>()
|
|
||||||
{
|
|
||||||
new StageColor(0.2f,new Color32(145,199,174,255)),
|
|
||||||
new StageColor(0.8f,new Color32(99,134,158,255)),
|
|
||||||
new StageColor(1.0f,new Color32(194,53,49,255)),
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case ThemeType.Light:
|
|
||||||
m_BarBackgroundColor = new Color32(200, 200, 200, 255);
|
|
||||||
m_StageColor = new List<StageColor>()
|
|
||||||
{
|
|
||||||
new StageColor(0.2f,new Color32(145,199,174,255)),
|
|
||||||
new StageColor(0.8f,new Color32(99,134,158,255)),
|
|
||||||
new StageColor(1.0f,new Color32(194,53,49,255)),
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case ThemeType.Dark:
|
|
||||||
m_BarBackgroundColor = new Color32(200, 200, 200, 255);
|
|
||||||
m_StageColor = new List<StageColor>()
|
|
||||||
{
|
|
||||||
new StageColor(0.2f,new Color32(145,199,174,255)),
|
|
||||||
new StageColor(0.8f,new Color32(99,134,158,255)),
|
|
||||||
new StageColor(1.0f,new Color32(194,53,49,255)),
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Copy(GaugeAxisTheme theme)
|
|
||||||
{
|
|
||||||
base.Copy(theme);
|
|
||||||
m_BarBackgroundColor = theme.barBackgroundColor;
|
|
||||||
ChartHelper.CopyList(m_StageColor, theme.stageColor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
fileFormatVersion: 2
|
|
||||||
guid: b38e4b45ec20b4c65a6dc82891c5c39a
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
@@ -37,7 +37,6 @@ namespace XCharts
|
|||||||
[SerializeField] private SubTitleTheme m_SubTitle;
|
[SerializeField] private SubTitleTheme m_SubTitle;
|
||||||
[SerializeField] private LegendTheme m_Legend;
|
[SerializeField] private LegendTheme m_Legend;
|
||||||
[SerializeField] private AxisTheme m_Axis;
|
[SerializeField] private AxisTheme m_Axis;
|
||||||
[SerializeField] private GaugeAxisTheme m_Gauge;
|
|
||||||
[SerializeField] private TooltipTheme m_Tooltip;
|
[SerializeField] private TooltipTheme m_Tooltip;
|
||||||
[SerializeField] private DataZoomTheme m_DataZoom;
|
[SerializeField] private DataZoomTheme m_DataZoom;
|
||||||
[SerializeField] private VisualMapTheme m_VisualMap;
|
[SerializeField] private VisualMapTheme m_VisualMap;
|
||||||
@@ -88,7 +87,6 @@ namespace XCharts
|
|||||||
public SubTitleTheme subTitle { get { return m_SubTitle; } set { m_SubTitle = value; } }
|
public SubTitleTheme subTitle { get { return m_SubTitle; } set { m_SubTitle = value; } }
|
||||||
public LegendTheme legend { get { return m_Legend; } set { m_Legend = value; } }
|
public LegendTheme legend { get { return m_Legend; } set { m_Legend = value; } }
|
||||||
public AxisTheme axis { get { return m_Axis; } set { m_Axis = value; } }
|
public AxisTheme axis { get { return m_Axis; } set { m_Axis = value; } }
|
||||||
public GaugeAxisTheme gauge { get { return m_Gauge; } set { m_Gauge = value; } }
|
|
||||||
public TooltipTheme tooltip { get { return m_Tooltip; } set { m_Tooltip = value; } }
|
public TooltipTheme tooltip { get { return m_Tooltip; } set { m_Tooltip = value; } }
|
||||||
public DataZoomTheme dataZoom { get { return m_DataZoom; } set { m_DataZoom = value; } }
|
public DataZoomTheme dataZoom { get { return m_DataZoom; } set { m_DataZoom = value; } }
|
||||||
public VisualMapTheme visualMap { get { return m_VisualMap; } set { m_VisualMap = value; } }
|
public VisualMapTheme visualMap { get { return m_VisualMap; } set { m_VisualMap = value; } }
|
||||||
@@ -235,7 +233,6 @@ namespace XCharts
|
|||||||
m_Title.Copy(theme.title);
|
m_Title.Copy(theme.title);
|
||||||
m_SubTitle.Copy(theme.subTitle);
|
m_SubTitle.Copy(theme.subTitle);
|
||||||
m_Axis.Copy(theme.axis);
|
m_Axis.Copy(theme.axis);
|
||||||
m_Gauge.Copy(theme.gauge);
|
|
||||||
m_Tooltip.Copy(theme.tooltip);
|
m_Tooltip.Copy(theme.tooltip);
|
||||||
m_DataZoom.Copy(theme.dataZoom);
|
m_DataZoom.Copy(theme.dataZoom);
|
||||||
m_VisualMap.Copy(theme.visualMap);
|
m_VisualMap.Copy(theme.visualMap);
|
||||||
@@ -344,7 +341,6 @@ namespace XCharts
|
|||||||
subTitle.font = font;
|
subTitle.font = font;
|
||||||
legend.font = font;
|
legend.font = font;
|
||||||
axis.font = font;
|
axis.font = font;
|
||||||
gauge.font = font;
|
|
||||||
tooltip.font = font;
|
tooltip.font = font;
|
||||||
dataZoom.font = font;
|
dataZoom.font = font;
|
||||||
visualMap.font = font;
|
visualMap.font = font;
|
||||||
@@ -372,7 +368,6 @@ namespace XCharts
|
|||||||
theme.subTitle = new SubTitleTheme(theme.themeType);
|
theme.subTitle = new SubTitleTheme(theme.themeType);
|
||||||
theme.legend = new LegendTheme(theme.themeType);
|
theme.legend = new LegendTheme(theme.themeType);
|
||||||
theme.axis = new AxisTheme(theme.themeType);
|
theme.axis = new AxisTheme(theme.themeType);
|
||||||
theme.gauge = new GaugeAxisTheme(theme.themeType);
|
|
||||||
theme.tooltip = new TooltipTheme(theme.themeType);
|
theme.tooltip = new TooltipTheme(theme.themeType);
|
||||||
theme.dataZoom = new DataZoomTheme(theme.themeType);
|
theme.dataZoom = new DataZoomTheme(theme.themeType);
|
||||||
theme.visualMap = new VisualMapTheme(theme.themeType);
|
theme.visualMap = new VisualMapTheme(theme.themeType);
|
||||||
|
|||||||
@@ -112,7 +112,6 @@ namespace XCharts
|
|||||||
public SubTitleTheme subTitle { get { return sharedTheme.subTitle; } }
|
public SubTitleTheme subTitle { get { return sharedTheme.subTitle; } }
|
||||||
public LegendTheme legend { get { return sharedTheme.legend; } }
|
public LegendTheme legend { get { return sharedTheme.legend; } }
|
||||||
public AxisTheme axis { get { return sharedTheme.axis; } }
|
public AxisTheme axis { get { return sharedTheme.axis; } }
|
||||||
public GaugeAxisTheme gauge { get { return sharedTheme.gauge; } }
|
|
||||||
public TooltipTheme tooltip { get { return sharedTheme.tooltip; } }
|
public TooltipTheme tooltip { get { return sharedTheme.tooltip; } }
|
||||||
public DataZoomTheme dataZoom { get { return sharedTheme.dataZoom; } }
|
public DataZoomTheme dataZoom { get { return sharedTheme.dataZoom; } }
|
||||||
public VisualMapTheme visualMap { get { return sharedTheme.visualMap; } }
|
public VisualMapTheme visualMap { get { return sharedTheme.visualMap; } }
|
||||||
|
|||||||
Reference in New Issue
Block a user