From fc7655fd76f2fd6b249066c28409e5b27cf22298 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Thu, 27 Jul 2023 07:58:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`Serie`=E7=9A=84`minRadius`?= =?UTF-8?q?=E5=8F=AF=E8=AE=BE=E7=BD=AE=E6=9C=80=E5=B0=8F=E5=8D=8A=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/en/api.md | 42 +++++++++++++++++++++++--- Documentation~/en/configuration.md | 47 +++++++++++++++++++++++++----- Documentation~/zh/api.md | 42 +++++++++++++++++++++++--- Documentation~/zh/changelog.md | 4 ++- Documentation~/zh/configuration.md | 47 +++++++++++++++++++++++++----- Editor/Series/PieEditor.cs | 1 + Runtime/Serie/Pie/PieHandler.cs | 18 +++++++++--- Runtime/Serie/Serie.cs | 10 +++++++ 8 files changed, 182 insertions(+), 29 deletions(-) diff --git a/Documentation~/en/api.md b/Documentation~/en/api.md index 7011a408..7c5245db 100644 --- a/Documentation~/en/api.md +++ b/Documentation~/en/api.md @@ -57,6 +57,7 @@ slug: /api - [MainComponentHandler](#maincomponenthandler) - [MainComponentHandler<T>](#maincomponenthandlert) - [MathUtil](#mathutil) +- [MonoBehaviour](#monobehaviour) - [Painter](#painter) - [ParallelChart](#parallelchart) - [ParallelCoordContext](#parallelcoordcontext) @@ -110,6 +111,7 @@ slug: /api - [XChartsMgr](#xchartsmgr) - [XCResourceImporterWindow](#xcresourceimporterwindow) - [XCThemeMgr](#xcthememgr) +- [XLog](#xlog) ## AnimationInfoContext @@ -665,14 +667,19 @@ slug: /api |Reset()||public void Reset()| |SetColor()||public void SetColor(ref bool needInteract, Color32 color)| |SetColor()||public void SetColor(ref bool needInteract, Color32 color, Color32 toColor)| -|SetValue()||public void SetValue(ref bool needInteract, float size)| -|SetValue()||public void SetValue(ref bool needInteract, float size, bool highlight, float rate = 1.3f)| +|SetPosition()||public void SetPosition(ref bool needInteract, Vector3 pos)| +|SetValue()||public void SetValue(ref bool needInteract, float value)| +|SetValue()||public void SetValue(ref bool needInteract, float value, bool highlight, float rate = 1.3f)| |SetValueAndColor()||public void SetValueAndColor(ref bool needInteract, float value, Color32 color)| |SetValueAndColor()||public void SetValueAndColor(ref bool needInteract, float value, Color32 color, Color32 toColor)| +|ToString()||public override string ToString()| |TryGetColor()||public bool TryGetColor(ref Color32 color, ref bool interacting, float animationDuration = 250)| |TryGetColor()||public bool TryGetColor(ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| +|TryGetPosition()||public bool TryGetPosition(ref Vector3 pos, ref bool interacting, float animationDuration = 250)| |TryGetValue()||public bool TryGetValue(ref float value, ref bool interacting, float animationDuration = 250)| |TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| +|TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Vector3 pos, ref bool interacting, float animationDuration = 250)| +|TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Vector3 pos, ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| ## IPropertyChanged @@ -720,7 +727,7 @@ The interface for serie data component. |public method|since|description| |--|--|--| -|CheckDataHighlighted()||public static bool CheckDataHighlighted(Serie serie, string legendName, bool heighlight)| +|CheckDataHighlighted()||public static int CheckDataHighlighted(Serie serie, string legendName, bool heighlight)| |CheckDataShow()||public static bool CheckDataShow(Serie serie, string legendName, bool show)| |GetContentColor()||public static Color GetContentColor(BaseChart chart, int legendIndex, string legendName, Legend legend, ThemeStyle theme, bool active)| |GetIconColor()||public static Color GetIconColor(BaseChart chart, Legend legend, int readIndex, string legendName, bool active)| @@ -826,6 +833,10 @@ The interface for serie data component. |IsInteger()||public static bool IsInteger(double value)| |Lerp()||public static double Lerp(double a, double b, double t)| +## MonoBehaviour + +> .MonoBehaviour / Subclasses: [XLog](#xlog) + ## ObjectPool<T> where T > XCharts.Runtime.ObjectPool<T> where T : [new()](#new()) @@ -1131,7 +1142,7 @@ the data of serie event. |GetSerieState()||public static SerieState GetSerieState(SerieData serieData)| |GetSerieSymbol()||public static SerieSymbol GetSerieSymbol(Serie serie, SerieData serieData, SerieState state = SerieState.Auto)| |GetStateStyle()||public static StateStyle GetStateStyle(Serie serie, SerieData serieData, SerieState state)| -|GetSysmbolSize()||public static float GetSysmbolSize(Serie serie, SerieData serieData, ThemeStyle theme, float defaultSize, SerieState state = SerieState.Auto)| +|GetSysmbolSize()||public static float GetSysmbolSize(Serie serie, SerieData serieData, float defaultSize, SerieState state = SerieState.Auto)| |GetTitleStyle()||public static TitleStyle GetTitleStyle(Serie serie, SerieData serieData)| |IsAllZeroValue()||public static bool IsAllZeroValue(Serie serie, int dimension = 1)
Whether the data for the specified dimension of serie are all 0. | |IsDownPoint()||public static bool IsDownPoint(Serie serie, int index)| @@ -1416,3 +1427,26 @@ UI帮助类。 |ReloadThemeList()||public static void ReloadThemeList()
重新加载主题列表 | |SwitchTheme()||public static void SwitchTheme(BaseChart chart, string themeName)| +## XLog + +> XCharts.Runtime.XLog : [MonoBehaviour](#monobehaviour) +Log system. Used to output logs with date and log type, support output to file, support custom output log type. + +|public method|since|description| +|--|--|--| +|CanLog()||public static bool CanLog(int level)| +|ClearAllLog()||public static void ClearAllLog()| +|Debug()||public static void Debug(string log)| +|EnableLog()||public static void EnableLog(int logType)| +|Error()||public static void Error(string log)| +|FlushLog()||public static void FlushLog()| +|GetNowTime()||public static string GetNowTime(string formatter = null)| +|GetTimestamp()||public static ulong GetTimestamp()| +|Info()||public static void Info(string log)| +|Log()||public static void Log(string log)| +|LogError()||public static void LogError(string log)| +|LogWarning()||public static void LogWarning(string log)| +|Proto()||public static void Proto(string log)| +|Vital()||public static void Vital(string log)| +|Warning()||public static void Warning(string log)| + diff --git a/Documentation~/en/configuration.md b/Documentation~/en/configuration.md index daff3168..eba54676 100644 --- a/Documentation~/en/configuration.md +++ b/Documentation~/en/configuration.md @@ -112,6 +112,7 @@ import APITable from '@site/src/components/APITable'; - [MarkAreaData](#markareadata) - [MarkLineData](#marklinedata) - [MarqueeStyle](#marqueestyle) +- [MLValue](#mlvalue) - [Padding](#padding) - [PolarAxisTheme](#polaraxistheme) - [RadarAxisTheme](#radaraxistheme) @@ -170,6 +171,7 @@ import APITable from '@site/src/components/APITable'; - [AnimationChange](#animationchange) - [AnimationFadeIn](#animationfadein) - [AnimationFadeOut](#animationfadeout) +- [AnimationHiding](#animationhiding) - [AnimationInfo](#animationinfo) - [AnimationInteraction](#animationinteraction) - [BaseSerie](#baseserie) @@ -247,9 +249,17 @@ Fade in animation. Fade out animation. +## AnimationHiding + +> XCharts.Runtime.AnimationHiding : [AnimationInfo](#animationinfo) + +> Since `v3.8.0` + +Data hiding animation. + ## AnimationInfo -> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeOut](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition), [AnimationInteraction](#animationinteraction) +> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeOut](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition), [AnimationHiding](#animationhiding), [AnimationInteraction](#animationinteraction) > Since `v3.8.0` @@ -286,8 +296,9 @@ Interactive animation of charts. |field|default|since|comment| |--|--|--|--| -|widthRate|1.3f|v3.8.0|the size rate of the width. -|radiusRate|1.3f|v3.8.0|the size rate of the radius. +|width||v3.8.0|the mlvalue of width. [MLValue](#mlvalue)| +|radius||v3.8.0|the mlvalue of radius. [MLValue](#mlvalue)| +|offset||v3.8.0|the mlvalue of offset. Such as the offset of the pie chart when the sector is selected. [MLValue](#mlvalue)| ```mdx-code-block @@ -315,6 +326,7 @@ the animation of serie. support animation type: fadeIn, fadeOut, change, additio |fadeOut||v3.8.0|Fade out animation configuration. [AnimationFadeOut](#animationfadeout)| |change||v3.8.0|Update data animation configuration. [AnimationChange](#animationchange)| |addition||v3.8.0|Add data animation configuration. [AnimationAddition](#animationaddition)| +|hiding||v3.8.0|Data hiding animation configuration. [AnimationHiding](#animationhiding)| |interaction||v3.8.0|Interaction animation configuration. [AnimationInteraction](#animationinteraction)| ```mdx-code-block @@ -706,7 +718,7 @@ Configurations of blur state. ## ChildComponent -> XCharts.Runtime.ChildComponent / Subclasses: [AnimationStyle](#animationstyle), [AxisName](#axisname), [AxisSplitArea](#axissplitarea), [AreaStyle](#areastyle), [ArrowStyle](#arrowstyle), [BaseLine](#baseline), [IconStyle](#iconstyle), [ImageStyle](#imagestyle), [ItemStyle](#itemstyle), [Level](#level), [LevelStyle](#levelstyle), [LineArrow](#linearrow), [LineStyle](#linestyle), [Location](#location), [MarqueeStyle](#marqueestyle), [Padding](#padding), [StageColor](#stagecolor), [SymbolStyle](#symbolstyle), [TextLimit](#textlimit), [TextStyle](#textstyle), [CommentItem](#commentitem), [CommentMarkStyle](#commentmarkstyle), [LabelLine](#labelline), [LabelStyle](#labelstyle), [MarkAreaData](#markareadata), [MarkLineData](#marklinedata), [StateStyle](#statestyle), [VisualMapRange](#visualmaprange), [UIComponentTheme](#uicomponenttheme), [SerieData](#seriedata), [ComponentTheme](#componenttheme), [SerieTheme](#serietheme), [ThemeStyle](#themestyle) +> XCharts.Runtime.ChildComponent / Subclasses: [AnimationStyle](#animationstyle), [AxisName](#axisname), [AxisSplitArea](#axissplitarea), [AreaStyle](#areastyle), [ArrowStyle](#arrowstyle), [BaseLine](#baseline), [IconStyle](#iconstyle), [ImageStyle](#imagestyle), [ItemStyle](#itemstyle), [Level](#level), [LevelStyle](#levelstyle), [LineArrow](#linearrow), [LineStyle](#linestyle), [Location](#location), [MLValue](#mlvalue), [MarqueeStyle](#marqueestyle), [Padding](#padding), [StageColor](#stagecolor), [SymbolStyle](#symbolstyle), [TextLimit](#textlimit), [TextStyle](#textstyle), [CommentItem](#commentitem), [CommentMarkStyle](#commentmarkstyle), [LabelLine](#labelline), [LabelStyle](#labelstyle), [MarkAreaData](#markareadata), [MarkLineData](#marklinedata), [StateStyle](#statestyle), [VisualMapRange](#visualmaprange), [UIComponentTheme](#uicomponenttheme), [SerieData](#seriedata), [ComponentTheme](#componenttheme), [SerieTheme](#serietheme), [ThemeStyle](#themestyle) ## Comment @@ -1501,6 +1513,28 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 ``` +## MLValue + +> XCharts.Runtime.MLValue : [ChildComponent](#childcomponent) + +> Since `v3.8.0` + +多样式数值。 + +```mdx-code-block + +``` + + +|field|default|since|comment| +|--|--|--|--| +|type|||
`MLValue.Type`:
- `Percent`: Percent value form.
- `Absolute`: Absolute value form.
- `Extra`: Extra value form.
| +|value||| + +```mdx-code-block +
+``` + ## Padding > XCharts.Runtime.Padding : [ChildComponent](#childcomponent) / Subclasses: [TextPadding](#textpadding) @@ -1699,6 +1733,7 @@ Configurations of select state. |gap|||gap of item. |center|||the center of chart. |radius|||the radius of chart. +|minRadius|0f|v3.8.0|the min radius of chart. It can be used to limit the minimum radius of the rose chart. |showDataDimension|||数据项里的数据维数。 |showDataName|||在Editor的inpsector上是否显示name参数 |clip|false||If clip the overflow on the coordinate system. @@ -1798,8 +1833,6 @@ A data item of serie. |lineWidth|||the color of text. |lineSymbolSize|||the symbol size of line serie. |scatterSymbolSize|||the symbol size of scatter serie. -|pieTooltipExtraRadius|||the extra radius of pie when actived by tooltip. -|pieSelectedOffset|||the center offset of pie if selected. |candlestickColor|Color32(235, 84, 84, 255)||K线图阳线(涨)填充色 |candlestickColor0|Color32(71, 178, 98, 255)||K线图阴线(跌)填充色 |candlestickBorderWidth|1||K线图边框宽度 @@ -2344,8 +2377,6 @@ The x axis in cartesian(rectangular) coordinate. |lineSegmentDistance|3f|| |cicleSmoothness|2f|| |visualMapTriangeLen|20f|| -|pieTooltipExtraRadius|8f|| -|pieSelectedOffset|8f|| |customThemes||| ```mdx-code-block diff --git a/Documentation~/zh/api.md b/Documentation~/zh/api.md index f8a2e4ca..9fdea84d 100644 --- a/Documentation~/zh/api.md +++ b/Documentation~/zh/api.md @@ -57,6 +57,7 @@ slug: /api - [MainComponentHandler](#maincomponenthandler) - [MainComponentHandler<T>](#maincomponenthandlert) - [MathUtil](#mathutil) +- [MonoBehaviour](#monobehaviour) - [Painter](#painter) - [ParallelChart](#parallelchart) - [ParallelCoordContext](#parallelcoordcontext) @@ -110,6 +111,7 @@ slug: /api - [XChartsMgr](#xchartsmgr) - [XCResourceImporterWindow](#xcresourceimporterwindow) - [XCThemeMgr](#xcthememgr) +- [XLog](#xlog) ## AnimationInfoContext @@ -665,14 +667,19 @@ slug: /api |Reset()||public void Reset()| |SetColor()||public void SetColor(ref bool needInteract, Color32 color)| |SetColor()||public void SetColor(ref bool needInteract, Color32 color, Color32 toColor)| -|SetValue()||public void SetValue(ref bool needInteract, float size)| -|SetValue()||public void SetValue(ref bool needInteract, float size, bool highlight, float rate = 1.3f)| +|SetPosition()||public void SetPosition(ref bool needInteract, Vector3 pos)| +|SetValue()||public void SetValue(ref bool needInteract, float value)| +|SetValue()||public void SetValue(ref bool needInteract, float value, bool highlight, float rate = 1.3f)| |SetValueAndColor()||public void SetValueAndColor(ref bool needInteract, float value, Color32 color)| |SetValueAndColor()||public void SetValueAndColor(ref bool needInteract, float value, Color32 color, Color32 toColor)| +|ToString()||public override string ToString()| |TryGetColor()||public bool TryGetColor(ref Color32 color, ref bool interacting, float animationDuration = 250)| |TryGetColor()||public bool TryGetColor(ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| +|TryGetPosition()||public bool TryGetPosition(ref Vector3 pos, ref bool interacting, float animationDuration = 250)| |TryGetValue()||public bool TryGetValue(ref float value, ref bool interacting, float animationDuration = 250)| |TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| +|TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Vector3 pos, ref bool interacting, float animationDuration = 250)| +|TryGetValueAndColor()||public bool TryGetValueAndColor(ref float value, ref Vector3 pos, ref Color32 color, ref Color32 toColor, ref bool interacting, float animationDuration = 250)| ## IPropertyChanged @@ -720,7 +727,7 @@ slug: /api |public method|since|description| |--|--|--| -|CheckDataHighlighted()||public static bool CheckDataHighlighted(Serie serie, string legendName, bool heighlight)| +|CheckDataHighlighted()||public static int CheckDataHighlighted(Serie serie, string legendName, bool heighlight)| |CheckDataShow()||public static bool CheckDataShow(Serie serie, string legendName, bool show)| |GetContentColor()||public static Color GetContentColor(BaseChart chart, int legendIndex, string legendName, Legend legend, ThemeStyle theme, bool active)| |GetIconColor()||public static Color GetIconColor(BaseChart chart, Legend legend, int readIndex, string legendName, bool active)| @@ -826,6 +833,10 @@ slug: /api |IsInteger()||public static bool IsInteger(double value)| |Lerp()||public static double Lerp(double a, double b, double t)| +## MonoBehaviour + +> .MonoBehaviour / Subclasses: [XLog](#xlog) + ## ObjectPool<T> where T > XCharts.Runtime.ObjectPool<T> where T : [new()](#new()) @@ -1131,7 +1142,7 @@ serie事件的数据。 |GetSerieState()||public static SerieState GetSerieState(SerieData serieData)| |GetSerieSymbol()||public static SerieSymbol GetSerieSymbol(Serie serie, SerieData serieData, SerieState state = SerieState.Auto)| |GetStateStyle()||public static StateStyle GetStateStyle(Serie serie, SerieData serieData, SerieState state)| -|GetSysmbolSize()||public static float GetSysmbolSize(Serie serie, SerieData serieData, ThemeStyle theme, float defaultSize, SerieState state = SerieState.Auto)| +|GetSysmbolSize()||public static float GetSysmbolSize(Serie serie, SerieData serieData, float defaultSize, SerieState state = SerieState.Auto)| |GetTitleStyle()||public static TitleStyle GetTitleStyle(Serie serie, SerieData serieData)| |IsAllZeroValue()||public static bool IsAllZeroValue(Serie serie, int dimension = 1)
系列指定维数的数据是否全部为0。 | |IsDownPoint()||public static bool IsDownPoint(Serie serie, int index)| @@ -1416,3 +1427,26 @@ UI帮助类。 |ReloadThemeList()||public static void ReloadThemeList()
重新加载主题列表 | |SwitchTheme()||public static void SwitchTheme(BaseChart chart, string themeName)| +## XLog + +> XCharts.Runtime.XLog : [MonoBehaviour](#monobehaviour) +日志系统。用于输出带日期和日志类型的日志,支持输出到文件,支持自定义输出的日志类型。 + +|public method|since|description| +|--|--|--| +|CanLog()||public static bool CanLog(int level)| +|ClearAllLog()||public static void ClearAllLog()| +|Debug()||public static void Debug(string log)| +|EnableLog()||public static void EnableLog(int logType)| +|Error()||public static void Error(string log)| +|FlushLog()||public static void FlushLog()| +|GetNowTime()||public static string GetNowTime(string formatter = null)| +|GetTimestamp()||public static ulong GetTimestamp()| +|Info()||public static void Info(string log)| +|Log()||public static void Log(string log)| +|LogError()||public static void LogError(string log)| +|LogWarning()||public static void LogWarning(string log)| +|Proto()||public static void Proto(string log)| +|Vital()||public static void Vital(string log)| +|Warning()||public static void Warning(string log)| + diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 566b8340..0e29e75e 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -69,10 +69,12 @@ slug: /changelog 版本要点: -* 重构和完善动画系统,增加新增动画和交互动画的配置支持 +* 重构和完善动画系统,增加`新增动画`和`交互动画`的支持 +* 完善`PieChart`的动画交互表现 日志详情: +* (2023.07.27) 增加`Serie`的`minRadius`可设置最小半径 * (2023.07.26) 增加`MLValue`多样式数值 * (2023.07.25) 增加`XLog`日志系统 * (2023.07.18) 完善`Pie`饼图的交互动画效果 diff --git a/Documentation~/zh/configuration.md b/Documentation~/zh/configuration.md index 8e5f3586..9f6ceec9 100644 --- a/Documentation~/zh/configuration.md +++ b/Documentation~/zh/configuration.md @@ -112,6 +112,7 @@ import APITable from '@site/src/components/APITable'; - [MarkAreaData](#markareadata) - [MarkLineData](#marklinedata) - [MarqueeStyle](#marqueestyle) +- [MLValue](#mlvalue) - [Padding](#padding) - [PolarAxisTheme](#polaraxistheme) - [RadarAxisTheme](#radaraxistheme) @@ -170,6 +171,7 @@ import APITable from '@site/src/components/APITable'; - [AnimationChange](#animationchange) - [AnimationFadeIn](#animationfadein) - [AnimationFadeOut](#animationfadeout) +- [AnimationHiding](#animationhiding) - [AnimationInfo](#animationinfo) - [AnimationInteraction](#animationinteraction) - [BaseSerie](#baseserie) @@ -247,9 +249,17 @@ import APITable from '@site/src/components/APITable'; 淡出动画。 +## AnimationHiding + +> XCharts.Runtime.AnimationHiding : [AnimationInfo](#animationinfo) + +> 从 `v3.8.0` 开始支持 + +数据隐藏动画。 + ## AnimationInfo -> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeOut](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition), [AnimationInteraction](#animationinteraction) +> XCharts.Runtime.AnimationInfo / Subclasses: [AnimationFadeIn](#animationfadein), [AnimationFadeOut](#animationfadeout), [AnimationChange](#animationchange), [AnimationAddition](#animationaddition), [AnimationHiding](#animationhiding), [AnimationInteraction](#animationinteraction) > 从 `v3.8.0` 开始支持 @@ -286,8 +296,9 @@ import APITable from '@site/src/components/APITable'; |field|default|since|comment| |--|--|--|--| -|widthRate|1.3f|v3.8.0|宽度的放大倍率。 -|radiusRate|1.3f|v3.8.0|半径的放大倍率。 +|width||v3.8.0|宽度的多样式数值。 [MLValue](#mlvalue)| +|radius||v3.8.0|半径的多样式数值。 [MLValue](#mlvalue)| +|offset||v3.8.0|交互的多样式数值。如饼图的扇形选中时的偏移。 [MLValue](#mlvalue)| ```mdx-code-block @@ -315,6 +326,7 @@ import APITable from '@site/src/components/APITable'; |fadeOut||v3.8.0|渐出动画配置。 [AnimationFadeOut](#animationfadeout)| |change||v3.8.0|数据变更动画配置。 [AnimationChange](#animationchange)| |addition||v3.8.0|数据新增动画配置。 [AnimationAddition](#animationaddition)| +|hiding||v3.8.0|数据隐藏动画配置。 [AnimationHiding](#animationhiding)| |interaction||v3.8.0|交互动画配置。 [AnimationInteraction](#animationinteraction)| ```mdx-code-block @@ -706,7 +718,7 @@ import APITable from '@site/src/components/APITable'; ## ChildComponent -> XCharts.Runtime.ChildComponent / Subclasses: [AnimationStyle](#animationstyle), [AxisName](#axisname), [AxisSplitArea](#axissplitarea), [AreaStyle](#areastyle), [ArrowStyle](#arrowstyle), [BaseLine](#baseline), [IconStyle](#iconstyle), [ImageStyle](#imagestyle), [ItemStyle](#itemstyle), [Level](#level), [LevelStyle](#levelstyle), [LineArrow](#linearrow), [LineStyle](#linestyle), [Location](#location), [MarqueeStyle](#marqueestyle), [Padding](#padding), [StageColor](#stagecolor), [SymbolStyle](#symbolstyle), [TextLimit](#textlimit), [TextStyle](#textstyle), [CommentItem](#commentitem), [CommentMarkStyle](#commentmarkstyle), [LabelLine](#labelline), [LabelStyle](#labelstyle), [MarkAreaData](#markareadata), [MarkLineData](#marklinedata), [StateStyle](#statestyle), [VisualMapRange](#visualmaprange), [UIComponentTheme](#uicomponenttheme), [SerieData](#seriedata), [ComponentTheme](#componenttheme), [SerieTheme](#serietheme), [ThemeStyle](#themestyle) +> XCharts.Runtime.ChildComponent / Subclasses: [AnimationStyle](#animationstyle), [AxisName](#axisname), [AxisSplitArea](#axissplitarea), [AreaStyle](#areastyle), [ArrowStyle](#arrowstyle), [BaseLine](#baseline), [IconStyle](#iconstyle), [ImageStyle](#imagestyle), [ItemStyle](#itemstyle), [Level](#level), [LevelStyle](#levelstyle), [LineArrow](#linearrow), [LineStyle](#linestyle), [Location](#location), [MLValue](#mlvalue), [MarqueeStyle](#marqueestyle), [Padding](#padding), [StageColor](#stagecolor), [SymbolStyle](#symbolstyle), [TextLimit](#textlimit), [TextStyle](#textstyle), [CommentItem](#commentitem), [CommentMarkStyle](#commentmarkstyle), [LabelLine](#labelline), [LabelStyle](#labelstyle), [MarkAreaData](#markareadata), [MarkLineData](#marklinedata), [StateStyle](#statestyle), [VisualMapRange](#visualmaprange), [UIComponentTheme](#uicomponenttheme), [SerieData](#seriedata), [ComponentTheme](#componenttheme), [SerieTheme](#serietheme), [ThemeStyle](#themestyle) ## Comment @@ -1501,6 +1513,28 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 ``` +## MLValue + +> XCharts.Runtime.MLValue : [ChildComponent](#childcomponent) + +> 从 `v3.8.0` 开始支持 + +多样式数值。 + +```mdx-code-block + +``` + + +|field|default|since|comment| +|--|--|--|--| +|type|||
`MLValue.Type`:
- `Percent`: 百分比形式。
- `Absolute`: 绝对值形式。
- `Extra`: 额外形式。
| +|value||| + +```mdx-code-block +
+``` + ## Padding > XCharts.Runtime.Padding : [ChildComponent](#childcomponent) / Subclasses: [TextPadding](#textpadding) @@ -1699,6 +1733,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 |gap|||间距。 |center|||中心点。 |radius|||半径。radius[0]表示内径,radius[1]表示外径。 +|minRadius|0f|v3.8.0|最小半径。可用于限制玫瑰图的最小半径。 |showDataDimension|||数据项里的数据维数。 |showDataName|||在Editor的inpsector上是否显示name参数 |clip|false||是否裁剪超出坐标系部分的图形。 @@ -1798,8 +1833,6 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 |lineWidth|||文本颜色。 |lineSymbolSize|||折线图的Symbol大小。 |scatterSymbolSize|||散点图的Symbol大小。 -|pieTooltipExtraRadius|||饼图鼠标移到高亮时的额外半径 -|pieSelectedOffset|||饼图选中时的中心点偏移。 |candlestickColor|Color32(235, 84, 84, 255)||K线图阳线(涨)填充色 |candlestickColor0|Color32(71, 178, 98, 255)||K线图阴线(跌)填充色 |candlestickBorderWidth|1||K线图边框宽度 @@ -2344,8 +2377,6 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 |lineSegmentDistance|3f|| |cicleSmoothness|2f|| |visualMapTriangeLen|20f|| -|pieTooltipExtraRadius|8f|| -|pieSelectedOffset|8f|| |customThemes||| ```mdx-code-block diff --git a/Editor/Series/PieEditor.cs b/Editor/Series/PieEditor.cs index f8e19be5..b8b42908 100644 --- a/Editor/Series/PieEditor.cs +++ b/Editor/Series/PieEditor.cs @@ -15,6 +15,7 @@ namespace XCharts.Editor PropertyFiledMore(() => { PropertyField("m_MinAngle"); + PropertyField("m_MinRadius"); PropertyField("m_RoundCap"); PropertyField("m_Ignore"); PropertyField("m_IgnoreValue"); diff --git a/Runtime/Serie/Pie/PieHandler.cs b/Runtime/Serie/Pie/PieHandler.cs index bf4c846e..7fd6dc77 100644 --- a/Runtime/Serie/Pie/PieHandler.cs +++ b/Runtime/Serie/Pie/PieHandler.cs @@ -221,13 +221,23 @@ namespace XCharts.Runtime private void UpdateSerieDataRadius(SerieData serieData, double value) { + var minChartWidth = Mathf.Min(chart.chartWidth, chart.chartHeight); + var minRadius = serie.minRadius > 0 ? ChartHelper.GetActualValue(serie.minRadius, minChartWidth) : 0; if (serieData.radius > 0) - serieData.context.outsideRadius = ChartHelper.GetActualValue(serieData.radius, Mathf.Min(chart.chartWidth, chart.chartHeight)); + { + serieData.context.outsideRadius = ChartHelper.GetActualValue(serieData.radius, minChartWidth); + } else + { + var minInsideRadius = minRadius > 0 ? minRadius : serie.context.insideRadius; serieData.context.outsideRadius = serie.pieRoseType > 0 ? - serie.context.insideRadius + (float)((serie.context.outsideRadius - serie.context.insideRadius) * value / serie.context.dataMax) : + minInsideRadius + (float)((serie.context.outsideRadius - minInsideRadius) * value / serie.context.dataMax) : serie.context.outsideRadius; - + } + if (minRadius > 0 && serieData.context.outsideRadius < minRadius) + { + serieData.context.outsideRadius = minRadius; + } var offset = 0f; var interactOffset = serie.animation.interaction.GetOffset(serie.context.outsideRadius); if (serie.pieClickOffset && (serieData.selected || serieData.context.selected)) @@ -424,7 +434,7 @@ namespace XCharts.Runtime var outSideRadius = serieData.context.outsideRadius; var center = serieData.context.offsetCenter; var interact = false; - serieData.interact.TryGetValueAndColor(ref outSideRadius,ref center,ref interact, serie.animation.GetInteractionDuration()); + serieData.interact.TryGetValueAndColor(ref outSideRadius, ref center, ref interact, serie.animation.GetInteractionDuration()); var currAngle = serieData.context.halfAngle; if (!ChartHelper.IsClearColor(labelLine.lineColor)) color = labelLine.lineColor; diff --git a/Runtime/Serie/Serie.cs b/Runtime/Serie/Serie.cs index c8af397a..f1abc3de 100644 --- a/Runtime/Serie/Serie.cs +++ b/Runtime/Serie/Serie.cs @@ -279,6 +279,7 @@ namespace XCharts.Runtime [SerializeField] private float m_Gap; [SerializeField] private float[] m_Center = new float[2] { 0.5f, 0.48f }; [SerializeField] private float[] m_Radius = new float[2] { 0, 0.28f }; + [SerializeField][Since("v3.8.0")] private float m_MinRadius = 0f; [SerializeField][Range(2, 10)] private int m_ShowDataDimension; [SerializeField] private bool m_ShowDataName; @@ -679,6 +680,15 @@ namespace XCharts.Runtime set { if (value != null && value.Length == 2) { m_Radius = value; SetVerticesDirty(); } } } /// + /// the min radius of chart. It can be used to limit the minimum radius of the rose chart. + /// |最小半径。可用于限制玫瑰图的最小半径。 + /// + public float minRadius + { + get { return m_MinRadius; } + set { if (PropertyUtil.SetStruct(ref m_MinRadius, value)) SetVerticesDirty(); } + } + /// /// 最小值。 /// public float min