From 45be0748aadde41541c6d2affd6a0a0d23e56bba Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Fri, 24 Nov 2023 08:29:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D`Axis`=E7=9A=84=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=95=B0=E6=8D=AE=E6=97=B6=E6=95=88=E6=9E=9C=E4=B8=8D?= =?UTF-8?q?=E9=A1=BA=E7=95=85=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/en/api.md | 17 +- Documentation~/en/configuration.md | 27 +- Documentation~/zh/api.md | 339 +++++++++--------- Documentation~/zh/changelog.md | 3 + Documentation~/zh/configuration.md | 26 +- Editor/MainComponents/AxisEditor.cs | 26 +- Examples/Example_Test.cs | 10 +- .../Axis/AngleAxis/AngleAxisHandler.cs | 2 +- Runtime/Component/Axis/Axis.cs | 50 ++- Runtime/Component/Axis/AxisContext.cs | 5 + Runtime/Component/Axis/AxisHandler.cs | 49 ++- Runtime/Component/Axis/AxisLabel.cs | 26 +- .../Axis/RadiusAxis/RadiusAxisHandler.cs | 6 +- Runtime/Component/DataZoom/DataZoomHandler.cs | 4 +- Runtime/Internal/BaseChart.Custom.cs | 7 +- Runtime/Internal/Utilities/DataHelper.cs | 4 +- Runtime/Serie/Bar/BarHandler.cs | 4 +- Runtime/Serie/Bar/SimplifiedBarHandler.cs | 4 +- Runtime/Serie/Heatmap/HeatmapHandler.cs | 2 +- Runtime/Serie/SeriesHelper.cs | 40 ++- 20 files changed, 418 insertions(+), 233 deletions(-) diff --git a/Documentation~/en/api.md b/Documentation~/en/api.md index b7c0f335..f3d4635c 100644 --- a/Documentation~/en/api.md +++ b/Documentation~/en/api.md @@ -22,6 +22,7 @@ slug: /api - [AreaStyle](#areastyle) - [ArrowStyle](#arrowstyle) - [Axis](#axis) +- [AxisAnimation](#axisanimation) - [AxisContext](#axiscontext) - [AxisHandler<T>](#axishandlert) - [AxisHelper](#axishelper) @@ -451,6 +452,19 @@ The axis in rectangular coordinate. |UpdateIcon()||public void UpdateIcon(int index, Sprite icon)
更新图标 | |UpdateZeroOffset()||public void UpdateZeroOffset(float axisLength)| +## AxisAnimation + +> class in XCharts.Runtime / Inherits from: [ChildComponent](#childcomponent) + +> Since `v3.9.0` + +animation style of axis. + +|public method|since|description| +|--|--|--| +|Clone()||public AxisAnimation Clone()| +|Copy()||public void Copy(AxisAnimation animation)| + ## AxisContext > class in XCharts.Runtime / Inherits from: [MainComponentContext](#maincomponentcontext) @@ -1114,7 +1128,7 @@ Configurations of blur state. ## ChildComponent -> class in XCharts.Runtime / 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) +> class in XCharts.Runtime / Subclasses: [AnimationStyle](#animationstyle),[AxisAnimation](#axisanimation),[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) |public method|since|description| @@ -2599,6 +2613,7 @@ the data of serie event. |GetLastStackSerie()||public static Serie GetLastStackSerie(List<Serie> series, Serie serie)
获得上一个同堆叠且显示的serie。 | |GetLegalSerieNameList()||public static List<string> GetLegalSerieNameList(List<Serie> series)| |GetMaxSerieDataCount()||public static int GetMaxSerieDataCount(List<Serie> series)| +|GetMinAnimationDuration()||public static float GetMinAnimationDuration(List<Serie> series)| |GetNameColor()||public static Color GetNameColor(BaseChart chart, int index, string name)| |GetStackSeries()||public static void GetStackSeries(List<Serie> series, ref Dictionary<int, List<Serie>> stackSeries)
获得堆叠系列列表 | |IsAnyClipSerie()||public static bool IsAnyClipSerie(List<Serie> series)
是否有需裁剪的serie。 | diff --git a/Documentation~/en/configuration.md b/Documentation~/en/configuration.md index 546c8dc1..6a1674d9 100644 --- a/Documentation~/en/configuration.md +++ b/Documentation~/en/configuration.md @@ -81,6 +81,7 @@ import APITable from '@site/src/components/APITable'; - [AnimationStyle](#animationstyle) - [AreaStyle](#areastyle) - [ArrowStyle](#arrowstyle) +- [AxisAnimation](#axisanimation) - [AxisLabel](#axislabel) - [AxisLine](#axisline) - [AxisMinorSplitLine](#axisminorsplitline) @@ -421,6 +422,7 @@ The axis in rectangular coordinate. |axisLabel|||axis label. [AxisLabel](#axislabel)| |splitLine|||axis split line. [AxisSplitLine](#axissplitline)| |splitArea|||axis split area. [AxisSplitArea](#axissplitarea)| +|animation|||animation of axis. [AxisAnimation](#axisanimation)| |minorTick||v3.2.0|axis minor tick. [AxisMinorTick](#axisminortick)| |minorSplitLine||v3.2.0|axis minor split line. [AxisMinorSplitLine](#axisminorsplitline)| |indicatorLabel||v3.4.0|Style of axis tooltip indicator label. [LabelStyle](#labelstyle)| @@ -429,6 +431,29 @@ The axis in rectangular coordinate. ``` +## AxisAnimation + +> class in XCharts.Runtime / Inherits from: [ChildComponent](#childcomponent) + +> Since `v3.9.0` + +animation style of axis. + +```mdx-code-block + +``` + + +|field|default|since|comment| +|--|--|--|--| +|show|true||whether to enable animation. +|duration|||the duration of animation (ms). When it is set to 0, the animation duration will be automatically calculated according to the serie. +|unscaledTime|||Animation updates independently of Time.timeScale. + +```mdx-code-block + +``` + ## AxisLabel > class in XCharts.Runtime / Inherits from: [LabelStyle](#labelstyle) @@ -719,7 +744,7 @@ Configurations of blur state. ## ChildComponent -> class in XCharts.Runtime / 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) +> class in XCharts.Runtime / Subclasses: [AnimationStyle](#animationstyle), [AxisAnimation](#axisanimation), [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 diff --git a/Documentation~/zh/api.md b/Documentation~/zh/api.md index 8eeb0b26..42bd26fe 100644 --- a/Documentation~/zh/api.md +++ b/Documentation~/zh/api.md @@ -22,6 +22,7 @@ slug: /api - [AreaStyle](#areastyle) - [ArrowStyle](#arrowstyle) - [Axis](#axis) +- [AxisAnimation](#axisanimation) - [AxisContext](#axiscontext) - [AxisHandler<T>](#axishandlert) - [AxisHelper](#axishelper) @@ -240,7 +241,7 @@ slug: /api 极坐标系的角度轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetValueAngle()||public float GetValueAngle(double value)| |GetValueAngle()||public float GetValueAngle(float value)| @@ -251,7 +252,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [BaseAxisTheme](#baseaxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AngleAxisTheme()||public AngleAxisTheme(ThemeType theme) : base(theme) { }| @@ -303,7 +304,7 @@ slug: /api 动画配置参数。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |End()||public void End()
结束动画。 | |GetIndexDelay()||public float GetIndexDelay(int dataIndex)
获取动画延迟。 | @@ -329,7 +330,7 @@ slug: /api 交互动画。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetOffset()||public float GetOffset()| |GetOffset()||public float GetOffset(float total)| @@ -342,7 +343,7 @@ slug: /api 动画组件,用于控制图表的动画播放。支持配置五种动画表现:FadeIn(渐入动画),FadeOut(渐出动画),Change(变更动画),Addition(新增动画),Interaction(交互动画)。 按作用的对象可以分为两类:SerieAnimation(系列动画)和DataAnimation(数据动画)。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Addition()||public void Addition()
开始数据新增动画。 | |CanCheckInteract()||public bool CanCheckInteract()| @@ -381,7 +382,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckDataAnimation()||public static float CheckDataAnimation(BaseChart chart, Serie serie, int dataIndex, float destProgress, float startPorgress = 0)| |GetAnimationPosition()||public static bool GetAnimationPosition(AnimationStyle animation, bool isY, Vector3 lp, Vector3 cp, float progress, ref Vector3 ip)| @@ -394,7 +395,7 @@ slug: /api 区域填充样式。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetColor()||public Color32 GetColor()| |GetColor()||public Color32 GetColor(Color32 themeColor)| @@ -404,7 +405,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public ArrowStyle Clone()| |Copy()||public void Copy(ArrowStyle arrow)| @@ -416,7 +417,7 @@ slug: /api 直角坐标系的坐标轴组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddData()||public void AddData(string category)
添加一个类目到类目数据列表 | |AddIcon()||public void AddIcon(Sprite icon)
添加图标 | @@ -451,6 +452,19 @@ slug: /api |UpdateIcon()||public void UpdateIcon(int index, Sprite icon)
更新图标 | |UpdateZeroOffset()||public void UpdateZeroOffset(float axisLength)| +## AxisAnimation + +> class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) + +> 从 `v3.9.0` 开始支持 + +坐标轴动画配置。 + +|API|版本|描述| +|--|--|--| +|Clone()||public AxisAnimation Clone()| +|Copy()||public void Copy(AxisAnimation animation)| + ## AxisContext > class in XCharts.Runtime / 继承自: [MainComponentContext](#maincomponentcontext) @@ -466,7 +480,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AdjustCircleLabelPos()||public static void AdjustCircleLabelPos(ChartLabel txt, Vector3 pos, Vector3 cenPos, float txtHig, Vector3 offset)| |AdjustMinMaxValue()||public static void AdjustMinMaxValue(Axis axis, ref double minValue, ref double maxValue, bool needFormat, double ceilRate = 0)
调整最大最小值 | @@ -496,7 +510,7 @@ slug: /api 坐标轴刻度标签的相关设置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public override void ClearComponentDirty()| |Clone()||public new AxisLabel Clone()| @@ -512,7 +526,7 @@ slug: /api 坐标轴轴线。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public AxisLine Clone()| |Copy()||public void Copy(AxisLine axisLine)| @@ -525,7 +539,7 @@ slug: /api 坐标轴在 grid 区域中的次分隔线。次分割线会对齐次刻度线 minorTick。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearVerticesDirty()||public override void ClearVerticesDirty()| |Clone()||public AxisMinorSplitLine Clone()| @@ -539,7 +553,7 @@ slug: /api 坐标轴次刻度相关设置。注意:次刻度无法在类目轴中使用。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearVerticesDirty()||public override void ClearVerticesDirty()| |Clone()||public AxisMinorTick Clone()| @@ -551,7 +565,7 @@ slug: /api 坐标轴名称。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public AxisName Clone()| |Copy()||public void Copy(AxisName axisName)| @@ -562,7 +576,7 @@ slug: /api 坐标轴在 grid 区域中的分隔区域,默认不显示。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public AxisSplitArea Clone()| |Copy()||public void Copy(AxisSplitArea splitArea)| @@ -574,7 +588,7 @@ slug: /api 坐标轴在 grid 区域中的分隔线。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearVerticesDirty()||public override void ClearVerticesDirty()| |Clone()||public AxisSplitLine Clone()| @@ -585,7 +599,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [BaseAxisTheme](#baseaxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AxisTheme()||public AxisTheme(ThemeType theme) : base(theme) { }| @@ -595,7 +609,7 @@ slug: /api 坐标轴刻度相关设置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public AxisTick Clone()| |Copy()||public void Copy(AxisTick axisTick)| @@ -606,7 +620,7 @@ slug: /api 背景组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()| @@ -615,7 +629,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static Bar ConvertSerie(Serie serie)| @@ -630,7 +644,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) / 子类: [AxisTheme](#axistheme),[RadiusAxisTheme](#radiusaxistheme),[AngleAxisTheme](#angleaxistheme),[PolarAxisTheme](#polaraxistheme),[RadarAxisTheme](#radaraxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |BaseAxisTheme()||public BaseAxisTheme(ThemeType theme) : base(theme)| |Copy()||public void Copy(BaseAxisTheme theme)| @@ -640,7 +654,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [BaseGraph](#basegraph),[ISerializationCallbackReceiver](https://docs.unity3d.com/ScriptReference/30_search.html?q=iserializationcallbackreceiver) / 子类: [BarChart](#barchart),[CandlestickChart](#candlestickchart),[HeatmapChart](#heatmapchart),[LineChart](#linechart),[ParallelChart](#parallelchart),[PieChart](#piechart),[PolarChart](#polarchart),[RadarChart](#radarchart),[RingChart](#ringchart),[ScatterChart](#scatterchart),[SimplifiedBarChart](#simplifiedbarchart),[SimplifiedCandlestickChart](#simplifiedcandlestickchart),[SimplifiedLineChart](#simplifiedlinechart) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |onAxisPointerValueChanged||public Action<Axis, double> onAxisPointerValueChanged
坐标轴变更数据索引时回调。参数:axis, dataIndex/dataValue | |onDraw||public Action<VertexHelper> onDraw
自定义绘制回调。在绘制Serie前调用。 | @@ -832,7 +846,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [MaskableGraphic](https://docs.unity3d.com/ScriptReference/30_search.html?q=maskablegraphic),[IPointerDownHandler](https://docs.unity3d.com/ScriptReference/30_search.html?q=ipointerdownhandler),[IPointerUpHandler](https://docs.unity3d.com/ScriptReference/30_search.html?q=ipointeruphandler),[](#) / 子类: [BaseChart](#basechart),[UIComponent](#uicomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |onBeginDrag||public Action<PointerEventData, BaseGraph> onBeginDrag
鼠标开始拖拽回调。 | |onDrag||public Action<PointerEventData, BaseGraph> onDrag
鼠标拖拽回调。 | @@ -869,7 +883,7 @@ slug: /api 线条基础配置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |BaseLine()||public BaseLine()| |BaseLine()||public BaseLine(bool show) : base()| @@ -889,7 +903,7 @@ slug: /api > class in XCharts.Runtime / 子类: [Serie](#serie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public static void ClearComponentDirty(ChildComponent component)| |ClearComponentDirty()||public virtual void ClearComponentDirty()| @@ -921,7 +935,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [CoordSystem](#coordsystem),[IUpdateRuntimeData](#iupdateruntimedata),[ISerieContainer](#iseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |IsPointerEnter()||public bool IsPointerEnter()| |UpdateRuntimeData()||public void UpdateRuntimeData(BaseChart chart)| @@ -931,7 +945,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -945,7 +959,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ColorToDotStr()||public static string ColorToDotStr(Color color)| |ColorToStr()||public static string ColorToStr(Color color)| @@ -969,7 +983,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ActiveAllObject()||public static void ActiveAllObject(Transform parent, bool active, string match = null)| |AddIcon()||public static Image AddIcon(string name, Transform parent, IconStyle iconStyle)| @@ -1039,7 +1053,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [Image](https://docs.unity3d.com/ScriptReference/30_search.html?q=image) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetHeight()||public float GetHeight()| |GetPosition()||public Vector3 GetPosition()| @@ -1069,7 +1083,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Destroy()||public virtual void Destroy()| @@ -1078,7 +1092,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ChartText()||public ChartText()| |ChartText()||public ChartText(GameObject textParent)| @@ -1107,17 +1121,17 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckChart()||public static string CheckChart(BaseChart chart)| |CheckChart()||public static string CheckChart(BaseGraph chart)| ## ChildComponent -> class in XCharts.Runtime / 子类: [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) +> class in XCharts.Runtime / 子类: [AnimationStyle](#animationstyle),[AxisAnimation](#axisanimation),[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) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public static void ClearComponentDirty(ChildComponent component)| |ClearComponentDirty()||public virtual void ClearComponentDirty()| @@ -1135,7 +1149,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetColor()||public static Color32 GetColor(string hexColorStr)
将字符串颜色值转成Color。 | @@ -1145,7 +1159,7 @@ slug: /api 图表注解组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetLabelStyle()||public LabelStyle GetLabelStyle(int index)| |GetMarkStyle()||public CommentMarkStyle GetMarkStyle(int index)| @@ -1168,7 +1182,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ComponentHandlerAttribute()||public ComponentHandlerAttribute(Type handler)| |ComponentHandlerAttribute()||public ComponentHandlerAttribute(Type handler, bool allowMultiple)| @@ -1178,7 +1192,7 @@ slug: /api > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetAngleAxis()||public static AngleAxis GetAngleAxis(List<MainComponent> components, int polarIndex)| |GetRadiusAxis()||public static RadiusAxis GetRadiusAxis(List<MainComponent> components, int polarIndex)| @@ -1191,7 +1205,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) / 子类: [BaseAxisTheme](#baseaxistheme),[DataZoomTheme](#datazoomtheme),[LegendTheme](#legendtheme),[SubTitleTheme](#subtitletheme),[TitleTheme](#titletheme),[TooltipTheme](#tooltiptheme),[VisualMapTheme](#visualmaptheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ComponentTheme()||public ComponentTheme(ThemeType theme)| |Copy()||public virtual void Copy(ComponentTheme theme)| @@ -1202,7 +1216,7 @@ slug: /api > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains<T>()||public bool Contains<T>() where T : CoordSystem| |CoordOptionsAttribute()||public CoordOptionsAttribute(Type coord)| @@ -1222,7 +1236,7 @@ slug: /api DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetBackgroundColor()||public Color32 GetBackgroundColor(Color32 themeColor)| |GetBorderColor()||public Color32 GetBorderColor(Color32 themeColor)| @@ -1250,7 +1264,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |UpdateDataZoomRuntimeStartEndValue()||public static void UpdateDataZoomRuntimeStartEndValue(DataZoom dataZoom, Serie serie)| |UpdateDataZoomRuntimeStartEndValue<T>()||public static void UpdateDataZoomRuntimeStartEndValue<T>(BaseChart chart) where T : Serie| @@ -1260,7 +1274,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(DataZoomTheme theme)| |DataZoomTheme()||public DataZoomTheme(ThemeType theme) : base(theme)| @@ -1270,7 +1284,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetDateTime()||public static DateTime GetDateTime(int timestamp)| |GetTimestamp()||public static int GetTimestamp()| @@ -1281,7 +1295,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Init()||public void Init(BaseChart chart)| |Update()||public void Update()| @@ -1291,7 +1305,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler)| |DefaultAnimationAttribute()||public DefaultAnimationAttribute(AnimationType handler, bool enableSerieDataAddedAnimation)| @@ -1301,7 +1315,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |DefaultTooltipAttribute()||public DefaultTooltipAttribute(Tooltip.Type type, Tooltip.Trigger trigger)| @@ -1310,7 +1324,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddGlobalDefine()||public static void AddGlobalDefine(string symbol)| |RemoveGlobalDefine()||public static void RemoveGlobalDefine(string symbol)| @@ -1320,7 +1334,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime / 继承自: [BaseScatter](#basescatter) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -1337,7 +1351,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime / 继承自: [LabelStyle](#labelstyle) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |EndLabelStyle()||public EndLabelStyle()| @@ -1346,7 +1360,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |NeedFormat()||public static bool NeedFormat(string content)| |ReplaceAxisLabelContent()||public static void ReplaceAxisLabelContent(ref string content, string numericFormatter, double value)| @@ -1360,7 +1374,7 @@ DataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息 Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart can be drawn in grid. -|方法|版本|描述| +|API|版本|描述| |--|--|--| |BoundaryPoint()||public bool BoundaryPoint(Vector3 sp, Vector3 ep, ref List<Vector3> point)
给定的线段和Grid边界的交点 | |BoundaryPoint()||public bool BoundaryPoint(Vector3 sp, Vector3 ep, ref Vector3 point)
给定的线段和Grid边界的交点 | @@ -1388,7 +1402,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 网格布局组件。用于管理多个`GridCoord`的布局,可以通过`row`和`column`来控制网格的行列数。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |UpdateRuntimeData()||public void UpdateRuntimeData(BaseChart chart)| @@ -1402,7 +1416,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -1416,7 +1430,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public IconStyle Clone()| |Copy()||public void Copy(IconStyle iconStyle)| @@ -1427,7 +1441,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |IgnoreDoc()||public IgnoreDoc()| @@ -1436,7 +1450,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent),[ISerieComponent](#iseriecomponent),[ISerieDataComponent](#iseriedatacomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public ImageStyle Clone()| |Copy()||public void Copy(ImageStyle imageStyle)| @@ -1448,7 +1462,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 雷达图的指示器,用来指定雷达图中的多个变量(维度)。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddIndicator()||public RadarCoord.Indicator AddIndicator(string name, double min, double max)| |AddIndicator()||public void AddIndicator(RadarCoord.Indicator indicator)| @@ -1477,7 +1491,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetKeyDown()||public static bool GetKeyDown(KeyCode keyCode)| |GetTouch()||public static Touch GetTouch(int v)| @@ -1487,7 +1501,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Reset()||public void Reset()| |SetColor()||public void SetColor(ref bool needInteract, Color32 color)| @@ -1540,7 +1554,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 图形样式。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetBorderColor()||public Color32 GetBorderColor(Color32 defaultColor)| |GetBorderColor0()||public Color32 GetBorderColor0(Color32 defaultColor)| @@ -1566,7 +1580,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 标签的引导线 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetEndSymbolOffset()||public Vector3 GetEndSymbolOffset()| |GetStartSymbolOffset()||public Vector3 GetStartSymbolOffset()| @@ -1578,7 +1592,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public virtual LabelStyle Clone()| |Copy()||public virtual void Copy(LabelStyle label)| @@ -1598,7 +1612,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 国际化语言表。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetCandlestickDimensionName()||public string GetCandlestickDimensionName(int i)| |GetDay()||public string GetDay(int day)| @@ -1614,7 +1628,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |List<string>()||public List<string> dayOfMonth = new List<string>()| |List<string>()||public List<string> dayOfWeek = new List<string>()| @@ -1627,7 +1641,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |IsFixedWidthHeight()||public static bool IsFixedWidthHeight(RectTransform rt)| |IsStretchPivot()||public static bool IsStretchPivot(RectTransform rt)| @@ -1638,7 +1652,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 图例组件。 图例组件展现了不同系列的标记,颜色和名字。可以通过点击图例控制哪些系列不显示。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddData()||public void AddData(string name)
添加图例。 | |ClearComponentDirty()||public override void ClearComponentDirty()| @@ -1666,7 +1680,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckDataHighlighted()||public static int CheckDataHighlighted(Serie serie, string legendName, bool heighlight)| |CheckDataShow()||public static bool CheckDataShow(Serie serie, string legendName, bool show)| @@ -1680,7 +1694,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetIconColor()||public Color GetIconColor()| |GetIconRect()||public Rect GetIconRect()| @@ -1706,7 +1720,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(LegendTheme theme)| |LegendTheme()||public LegendTheme(ThemeType theme) : base(theme)| @@ -1726,7 +1740,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static Line ConvertSerie(Serie serie)| @@ -1747,7 +1761,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 线条样式。 注: 修改 lineStyle 中的颜色不会影响图例颜色,如果需要图例颜色和折线图颜色一致,需修改 itemStyle.color,线条颜色默认也会取该颜色。 toColor,toColor2可设置水平方向的渐变,如需要设置垂直方向的渐变,可使用VisualMap。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public LineStyle Clone()| |Copy()||public void Copy(LineStyle lineStyle)| @@ -1769,7 +1783,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) / 子类: [ListForComponent](#listforcomponent),[ListForSerie](#listforserie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ListFor()||public ListFor(Type type)| @@ -1778,7 +1792,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [ListFor](#listfor) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ListForComponent()||public ListForComponent(Type type) : base(type)| @@ -1787,7 +1801,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [ListFor](#listfor) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ListForSerie()||public ListForSerie(Type type) : base(type)| @@ -1797,7 +1811,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 位置类型。通过Align快速设置大体位置,再通过left,right,top,bottom微调具体位置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetPosition()||public Vector3 GetPosition(float chartWidth, float chartHeight)
返回在坐标系中的具体位置 | |IsBottom()||public bool IsBottom()| @@ -1811,7 +1825,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [IComparable](https://docs.unity3d.com/ScriptReference/30_search.html?q=icomparable) / 子类: [Axis](#axis),[Background](#background),[Comment](#comment),[DataZoom](#datazoom),[Legend](#legend),[MarkArea](#markarea),[MarkLine](#markline),[Settings](#settings),[Title](#title),[Tooltip](#tooltip),[VisualMap](#visualmap),[GridLayout](#gridlayout),[CoordSystem](#coordsystem) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public virtual void ClearComponentDirty()| |ClearData()||public virtual void ClearData() { }| @@ -1835,7 +1849,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 子类: [AxisHandler<T>](#axishandlert),[MainComponentHandler<T>](#maincomponenthandlert) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckComponent()||public virtual void CheckComponent(StringBuilder sb) { }| |DrawBase()||public virtual void DrawBase(VertexHelper vh) { }| @@ -1866,7 +1880,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 图表标域,常用于标记图表中某个范围的数据。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()| @@ -1882,7 +1896,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 图表标线。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()| @@ -1902,7 +1916,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart Marquee style. It can be used for the DataZoom component. 选取框样式。可用于DataZoom组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |onEnd||public Action<DataZoom> onEnd
自定义选取框结束选取时的回调。 | |onGoing||public Action<DataZoom> onGoing
自定义选取框选取进行时的回调。 | @@ -1913,7 +1927,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Abs()||public static double Abs(double d)| |Approximately()||public static bool Approximately(double a, double b)| @@ -1931,7 +1945,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 多样式数值。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetValue()||public float GetValue(float total)
根据类型获取值。 | |MLValue()||public MLValue(float value)| @@ -1947,7 +1961,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 > class in XCharts.Runtime / 继承自: [new()](#new()) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearAll()||public void ClearAll()| |Get()||public T Get()| @@ -1961,7 +1975,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 边距设置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Padding()||public Padding() { }| |Padding()||public Padding(float top, float right, float bottom, float left)| @@ -1972,7 +1986,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 > class in XCharts.Runtime / 继承自: [MaskableGraphic](https://docs.unity3d.com/ScriptReference/30_search.html?q=maskablegraphic) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |onPopulateMesh||public Action<VertexHelper, Painter> onPopulateMesh| |CheckRefresh()||public void CheckRefresh()| @@ -1985,7 +1999,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -1994,7 +2008,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 > class in XCharts.Runtime / 继承自: [Axis](#axis) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()| @@ -2009,7 +2023,7 @@ Marquee style. It can be used for the DataZoom component. 选取框样式。可 Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart can be drawn in grid. -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(float x, float y)| |Contains()||public bool Contains(Vector3 pos)| @@ -2026,7 +2040,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Serie](#serie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static Pie ConvertSerie(Serie serie)| @@ -2041,7 +2055,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [BaseAxisTheme](#baseaxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |PolarAxisTheme()||public PolarAxisTheme(ThemeType theme) : base(theme) { }| @@ -2056,7 +2070,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart 极坐标系组件。 极坐标系,可以用于散点图和折线图。每个极坐标系拥有一个角度轴和一个半径轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(Vector3 pos)| |IsPointerEnter()||public bool IsPointerEnter()| @@ -2071,7 +2085,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetClass<T>()||public static bool SetClass<T>(ref T currentValue, T newValue, bool notNull = false) where T : class| |SetColor()||public static bool SetColor(ref Color currentValue, Color newValue)| @@ -2083,7 +2097,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -2092,7 +2106,7 @@ Drawing grid in rectangular coordinate. Line chart, bar chart, and scatter chart > class in XCharts.Runtime / 继承自: [BaseAxisTheme](#baseaxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |RadarAxisTheme()||public RadarAxisTheme(ThemeType theme) : base(theme)| @@ -2118,7 +2132,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 极坐标系的径向轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()
极坐标系的径向轴。 | @@ -2127,7 +2141,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime / 继承自: [BaseAxisTheme](#baseaxistheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |RadiusAxisTheme()||public RadiusAxisTheme(ThemeType theme) : base(theme) { }| @@ -2136,7 +2150,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |DeepCloneSerializeField()||public static object DeepCloneSerializeField(object obj)| |InvokeListAdd()||public static void InvokeListAdd(object obj, FieldInfo field, object item)| @@ -2150,7 +2164,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |RequireChartComponentAttribute()||public RequireChartComponentAttribute(Type requiredComponent)| |RequireChartComponentAttribute()||public RequireChartComponentAttribute(Type requiredComponent, Type requiredComponent2)| @@ -2161,7 +2175,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime / 继承自: [Serie](#serie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |GetDataTotal()||public override double GetDataTotal(int dimension, SerieData serieData = null)| @@ -2176,7 +2190,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetAllAssemblyTypes()||public static IEnumerable<Type> GetAllAssemblyTypes()| |GetAllTypesDerivedFrom()||public static IEnumerable<Type> GetAllTypesDerivedFrom(Type type)| @@ -2190,7 +2204,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime / 继承自: [BaseScatter](#basescatter) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| @@ -2213,7 +2227,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 系列。系列一般由数据和配置组成,用来表示具体的图表图形,如折线图的一条折线,柱图的一组柱子等。一个图表中可以包含多个不同类型的系列。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |onClick||public Action<SerieEventData> onClick
点击系列时的回调。 | |onDown||public Action<SerieEventData> onDown
鼠标按下时的回调。 | @@ -2295,7 +2309,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 可添加到Serie的组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(Type type)| |Contains<T>()||public bool Contains<T>() where T : ISerieComponent| @@ -2319,7 +2333,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 可转化为哪些Serie类型。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(Type type)| |Contains<T>()||public bool Contains<T>() where T : Serie| @@ -2334,7 +2348,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 系列中的一个数据项。可存储数据名和1-n维个数据。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public override void ClearComponentDirty()| |ClearVerticesDirty()||public override void ClearVerticesDirty()| @@ -2380,7 +2394,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 可添加到SerieData的组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(Type type)| |Contains<T>()||public bool Contains<T>() where T : ISerieComponent| @@ -2398,7 +2412,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Reset()||public void Reset()| @@ -2407,7 +2421,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(string field)| |SerieDataExtraFieldAttribute()||public SerieDataExtraFieldAttribute()| @@ -2425,7 +2439,7 @@ Radar coordinate conponnet for radar charts. 雷达图坐标系组件,只适 serie事件的数据。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Reset()||public void Reset()| @@ -2434,7 +2448,7 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Get()||public static SerieEventData Get(Vector3 pos, int serieIndex, int dataIndex, int dimension, double value)| |Release()||public static void Release(SerieEventData toRelease)| @@ -2444,7 +2458,7 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AfterUpdate()||public virtual void AfterUpdate() { }| |BeforeUpdate()||public virtual void BeforeUpdate() { }| @@ -2483,7 +2497,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [SerieHandler where T](#seriehandler where t),[Serie](#serie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AfterUpdate()||public override void AfterUpdate()| |BeforeUpdate()||public override void BeforeUpdate()| @@ -2512,7 +2526,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SerieHandlerAttribute()||public SerieHandlerAttribute(Type handler)| |SerieHandlerAttribute()||public SerieHandlerAttribute(Type handler, bool allowMultiple)| @@ -2522,7 +2536,7 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CloneSerie<T>()||public static T CloneSerie<T>(Serie serie) where T : Serie| |CopySerie()||public static void CopySerie(Serie oldSerie, Serie newSerie)| @@ -2567,7 +2581,7 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CanShowLabel()||public static bool CanShowLabel(Serie serie, SerieData serieData, LabelStyle label, int dimesion)| |GetLabelColor()||public static Color GetLabelColor(Serie serie, ThemeStyle theme, int index)| @@ -2578,7 +2592,7 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearAll()||public static void ClearAll()| |Release()||public static void Release(GameObject element)| @@ -2594,11 +2608,12 @@ serie事件的数据。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetLastStackSerie()||public static Serie GetLastStackSerie(List<Serie> series, Serie serie)
获得上一个同堆叠且显示的serie。 | |GetLegalSerieNameList()||public static List<string> GetLegalSerieNameList(List<Serie> series)| |GetMaxSerieDataCount()||public static int GetMaxSerieDataCount(List<Serie> series)| +|GetMinAnimationDuration()||public static float GetMinAnimationDuration(List<Serie> series)| |GetNameColor()||public static Color GetNameColor(BaseChart chart, int index, string name)| |GetStackSeries()||public static void GetStackSeries(List<Serie> series, ref Dictionary<int, List<Serie>> stackSeries)
获得堆叠系列列表 | |IsAnyClipSerie()||public static bool IsAnyClipSerie(List<Serie> series)
是否有需裁剪的serie。 | @@ -2616,7 +2631,7 @@ serie事件的数据。 系列数据项的标记的图形 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetSize()||public float GetSize(List<double> data, float themeSize)
根据指定的sizeType获得标记的大小 | |Reset()||public override void Reset()| @@ -2627,7 +2642,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(SerieTheme theme)| |SerieTheme()||public SerieTheme(ThemeType theme)| @@ -2638,7 +2653,7 @@ serie事件的数据。 全局参数设置组件。一般情况下可使用默认值,当有需要时可进行调整。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(Settings settings)| |Reset()||public override void Reset()| @@ -2648,7 +2663,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer),[ISimplifiedSerie](#isimplifiedserie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static SimplifiedBar ConvertSerie(Serie serie)| @@ -2663,7 +2678,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer),[ISimplifiedSerie](#isimplifiedserie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static SimplifiedCandlestick ConvertSerie(Serie serie)| @@ -2678,7 +2693,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [Serie](#serie),[INeedSerieContainer](#ineedseriecontainer),[ISimplifiedSerie](#isimplifiedserie) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddDefaultSerie()||public static Serie AddDefaultSerie(BaseChart chart, string serieName)| |ConvertSerie()||public static SimplifiedLine ConvertSerie(Serie serie)| @@ -2693,7 +2708,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [Attribute](https://docs.unity3d.com/ScriptReference/30_search.html?q=attribute) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Since()||public Since(string version)| @@ -2703,7 +2718,7 @@ serie事件的数据。 单轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()| |UpdateRuntimeData()||public void UpdateRuntimeData(BaseChart chart)| @@ -2718,7 +2733,7 @@ serie事件的数据。 > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |StageColor()||public StageColor(float percent, Color32 color)| @@ -2730,7 +2745,7 @@ serie事件的数据。 Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种状态。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public override void ClearComponentDirty()| |ClearVerticesDirty()||public override void ClearVerticesDirty()| @@ -2741,7 +2756,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SubTitleTheme()||public SubTitleTheme(ThemeType theme) : base(theme)| @@ -2750,7 +2765,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XUGL -|方法|版本|描述| +|API|版本|描述| |--|--|--| |DrawPath()||public static void DrawPath(VertexHelper vh, string path)| |DrawPath()||public static void DrawPath(VertexHelper vh, SVGPath path)| @@ -2766,7 +2781,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XUGL -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddSegment()||public void AddSegment(SVGPathSeg seg)| |Draw()||public void Draw(VertexHelper vh)| @@ -2777,7 +2792,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XUGL -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SVGPathSeg()||public SVGPathSeg(SVGPathSegType type)| @@ -2787,7 +2802,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 系列数据项的标记的图形 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetColor()||public Color32 GetColor(Color32 defaultColor)| |Reset()||public virtual void Reset()| @@ -2798,7 +2813,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 文本字符限制和自适应。当文本长度超过设定的长度时进行裁剪,并将后缀附加在最后。 只在类目轴中有效。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Clone()||public TextLimit Clone()| |Copy()||public void Copy(TextLimit textLimit)| @@ -2811,7 +2826,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 文本的内边距设置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |TextPadding()||public TextPadding() { }| |TextPadding()||public TextPadding(float top, float right, float bottom, float left)| @@ -2822,7 +2837,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 文本的相关设置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(TextStyle textStyle)| |GetAlignment()||public TextAnchor GetAlignment(TextAnchor defaultAlignment)| @@ -2841,7 +2856,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 主题相关配置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckWarning()||public void CheckWarning(StringBuilder sb)| |CloneTheme()||public Theme CloneTheme()
克隆主题。 | @@ -2865,7 +2880,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 主题相关配置。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CheckWarning()||public void CheckWarning(StringBuilder sb)| |GetBackgroundColor()||public Color32 GetBackgroundColor(Background background)| @@ -2880,7 +2895,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 标题组件,包含主标题和副标题。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ClearComponentDirty()||public override void ClearComponentDirty()| |OnChanged()||public void OnChanged()| @@ -2896,7 +2911,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |TitleTheme()||public TitleTheme(ThemeType theme) : base(theme)| @@ -2906,7 +2921,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 提示框组件。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddSerieDataIndex()||public void AddSerieDataIndex(int serieIndex, int dataIndex)| |ClearComponentDirty()||public override void ClearComponentDirty()| @@ -2939,7 +2954,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetItemNumericFormatter()||public static string GetItemNumericFormatter(Tooltip tooltip, Serie serie, SerieData serieData)| |GetLineColor()||public static Color32 GetLineColor(Tooltip tooltip, Color32 defaultColor)| @@ -2951,7 +2966,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(TooltipTheme theme)| |TooltipTheme()||public TooltipTheme(ThemeType theme) : base(theme)| @@ -2961,7 +2976,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CreateView()||public static TooltipView CreateView(Tooltip tooltip, ThemeStyle theme, Transform parent)| |GetCurrentPos()||public Vector3 GetCurrentPos()| @@ -2982,7 +2997,7 @@ Serie的状态样式。Serie的状态有正常,高亮,淡出,选中四种 UGUI 图形库 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |DrawDiamond()||public static void DrawDiamond(VertexHelper vh, Vector3 center, float size, Color32 color)
Draw a diamond. 画菱形(钻石形状) | |DrawDiamond()||public static void DrawDiamond(VertexHelper vh, Vector3 center, float size, Color32 color, Color32 toColor)
Draw a diamond. 画菱形(钻石形状) | @@ -3018,7 +3033,7 @@ UGUI 图形库 > class in XUGL -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetAngle360()||public static float GetAngle360(Vector2 from, Vector2 to)
获得0-360的角度(12点钟方向为0度) | |GetBezier()||public static Vector3 GetBezier(float t, Vector3 sp, Vector3 cp, Vector3 ep)| @@ -3050,7 +3065,7 @@ UGUI 图形库 UI组件基类。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetAllDirty()||public override void SetAllDirty()| |SetDataDirty()|v3.9.0|public void SetDataDirty()| @@ -3068,7 +3083,7 @@ UI组件基类。 UI帮助类。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |GetBackgroundColor()||public static Color32 GetBackgroundColor(UIComponent component)| @@ -3078,7 +3093,7 @@ UI帮助类。 视觉映射组件。用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddColors()||public void AddColors(List<Color32> colors)| |AddColors()||public void AddColors(List<string> colors)| @@ -3104,7 +3119,7 @@ UI帮助类。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AutoSetLineMinMax()||public static void AutoSetLineMinMax(VisualMap visualMap, Serie serie, bool isY, Axis axis, Axis relativedAxis)| |GetDimension()||public static int GetDimension(VisualMap visualMap, int defaultDimension)| @@ -3118,7 +3133,7 @@ UI帮助类。 > class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Contains()||public bool Contains(double value, double minMaxRange)| @@ -3127,7 +3142,7 @@ UI帮助类。 > class in XCharts.Runtime / 继承自: [ComponentTheme](#componenttheme) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |Copy()||public void Copy(VisualMapTheme theme)| |VisualMapTheme()||public VisualMapTheme(ThemeType theme) : base(theme)| @@ -3138,7 +3153,7 @@ UI帮助类。 直角坐标系 grid 中的 x 轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()
直角坐标系 grid 中的 x 轴。 | @@ -3147,7 +3162,7 @@ UI帮助类。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddChart()||public static void AddChart(BaseChart chart)| |ContainsChart()||public static bool ContainsChart(BaseChart chart)| @@ -3165,7 +3180,7 @@ UI帮助类。 > class in XCharts.Runtime / 继承自: [UnityEditor.EditorWindow](https://docs.unity3d.com/ScriptReference/30_search.html?q=unityeditor.editorwindow) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |ShowPackageImporterWindow()||public static void ShowPackageImporterWindow()| @@ -3174,7 +3189,7 @@ UI帮助类。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |OnDestroy()||public void OnDestroy() { }| |OnGUI()||public void OnGUI()| @@ -3185,7 +3200,7 @@ UI帮助类。 > class in XCharts.Runtime / 继承自: [ScriptableObject](https://docs.unity3d.com/ScriptReference/30_search.html?q=scriptableobject) -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddCustomTheme()||public static bool AddCustomTheme(Theme theme)| |ExistAssetFile()||public static bool ExistAssetFile()| @@ -3196,7 +3211,7 @@ UI帮助类。 > class in XCharts.Runtime -|方法|版本|描述| +|API|版本|描述| |--|--|--| |AddTheme()||public static void AddTheme(Theme theme)| |CheckReloadTheme()||public static void CheckReloadTheme()| @@ -3219,7 +3234,7 @@ UI帮助类。 日志系统。用于输出带日期和日志类型的日志,支持输出到文件,支持自定义输出的日志类型。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |CanLog()||public static bool CanLog(int level)| |ClearAllLog()||public static void ClearAllLog()| @@ -3243,7 +3258,7 @@ UI帮助类。 直角坐标系 grid 中的 y 轴。 -|方法|版本|描述| +|API|版本|描述| |--|--|--| |SetDefaultValue()||public override void SetDefaultValue()
直角坐标系 grid 中的 y 轴。 | diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index 6f14deaf..7ed0efea 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -74,6 +74,7 @@ slug: /changelog 版本要点: +* 增加`Axis`的`Animation`,完善数据变更动画效果 * 增加`Axis`的对数轴子刻度的支持 * 增加`MarkLine`的`onTop`设置是否显示在最上层 * 增加`UITable`表格组件的轮播功能,重构`UITable` @@ -82,6 +83,8 @@ slug: /changelog 日志详情: +* (2023.11.24) 修复`Axis`的更新数据时效果不顺畅的问题 +* (2023.11.23) 增加`Axis`的`Animation`支持动画效果 * (2023.11.16) 取消`Legend`的`formatter`,用`LabelStyle`的代替 * (2023.11.14) 完善`LabelStyle`的`formatter`的注释和文档(#291) * (2023.11.11) 修复`Documentation`部分注释生成文档不完整的问题 (#290) diff --git a/Documentation~/zh/configuration.md b/Documentation~/zh/configuration.md index e9427f1e..a8e29b40 100644 --- a/Documentation~/zh/configuration.md +++ b/Documentation~/zh/configuration.md @@ -81,6 +81,7 @@ import APITable from '@site/src/components/APITable'; - [AnimationStyle](#animationstyle) - [AreaStyle](#areastyle) - [ArrowStyle](#arrowstyle) +- [AxisAnimation](#axisanimation) - [AxisLabel](#axislabel) - [AxisLine](#axisline) - [AxisMinorSplitLine](#axisminorsplitline) @@ -414,6 +415,7 @@ import APITable from '@site/src/components/APITable'; |axisLabel|||坐标轴刻度标签。 [AxisLabel](#axislabel)| |splitLine|||坐标轴分割线。 [AxisSplitLine](#axissplitline)| |splitArea|||坐标轴分割区域。 [AxisSplitArea](#axissplitarea)| +|animation|||坐标轴动画。 [AxisAnimation](#axisanimation)| |minorTick||v3.2.0|坐标轴次刻度。 [AxisMinorTick](#axisminortick)| |minorSplitLine||v3.2.0|坐标轴次分割线。 [AxisMinorSplitLine](#axisminorsplitline)| |indicatorLabel||v3.4.0|指示器文本的样式。Tooltip为Cross时使用。 [LabelStyle](#labelstyle)| @@ -422,6 +424,28 @@ import APITable from '@site/src/components/APITable'; ``` +## AxisAnimation + +> class in XCharts.Runtime / 继承自: [ChildComponent](#childcomponent) + +> 从 `v3.9.0` 开始支持 + +坐标轴动画配置。 + +```mdx-code-block + +``` + +|参数|默认|版本|描述| +|--|--|--|--| +|show|true||是否开启动画。 +|duration|||动画时长(ms)。 默认设置为0时,会自动获取serie的动画时长。 +|unscaledTime|||动画是否受TimeScaled的影响。默认为 false 受TimeScaled的影响。 + +```mdx-code-block + +``` + ## AxisLabel > class in XCharts.Runtime / 继承自: [LabelStyle](#labelstyle) @@ -701,7 +725,7 @@ import APITable from '@site/src/components/APITable'; ## ChildComponent -> class in XCharts.Runtime / 子类: [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) +> class in XCharts.Runtime / 子类: [AnimationStyle](#animationstyle), [AxisAnimation](#axisanimation), [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 diff --git a/Editor/MainComponents/AxisEditor.cs b/Editor/MainComponents/AxisEditor.cs index 2e2d9224..eb6978e5 100644 --- a/Editor/MainComponents/AxisEditor.cs +++ b/Editor/MainComponents/AxisEditor.cs @@ -12,7 +12,7 @@ namespace XCharts.Editor var m_Type = baseProperty.FindPropertyRelative("m_Type"); var m_LogBase = baseProperty.FindPropertyRelative("m_LogBase"); var m_MinMaxType = baseProperty.FindPropertyRelative("m_MinMaxType"); - var type = (Axis.AxisType) m_Type.enumValueIndex; + var type = (Axis.AxisType)m_Type.enumValueIndex; EditorGUI.indentLevel++; if (component is ParallelAxis) { @@ -40,7 +40,7 @@ namespace XCharts.Editor if (type == Axis.AxisType.Value || type == Axis.AxisType.Time) { PropertyField("m_MinMaxType"); - Axis.AxisMinMaxType minMaxType = (Axis.AxisMinMaxType) m_MinMaxType.enumValueIndex; + Axis.AxisMinMaxType minMaxType = (Axis.AxisMinMaxType)m_MinMaxType.enumValueIndex; switch (minMaxType) { case Axis.AxisMinMaxType.Default: @@ -63,7 +63,6 @@ namespace XCharts.Editor PropertyField("m_SplitNumber"); if (type == Axis.AxisType.Category) { - //PropertyField("m_InsertDataToHead"); PropertyField("m_MaxCache"); PropertyField("m_BoundaryGap"); } @@ -72,6 +71,10 @@ namespace XCharts.Editor PropertyField("m_Interval"); } DrawExtendeds(); + if (type != Axis.AxisType.Category) + { + PropertyField("m_Animation"); + } PropertyField("m_AxisLine"); PropertyField("m_AxisName"); PropertyField("m_AxisTick"); @@ -204,4 +207,21 @@ namespace XCharts.Editor } } } + + [CustomPropertyDrawer(typeof(AxisAnimation), true)] + public class AxisAnimationDrawer : BasePropertyDrawer + { + public override string ClassName { get { return "Animation"; } } + public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label) + { + base.OnGUI(pos, prop, label); + if (MakeComponentFoldout(prop, "m_Show", true)) + { + ++EditorGUI.indentLevel; + PropertyField(prop, "m_UnscaledTime"); + PropertyField(prop, "m_Duration"); + --EditorGUI.indentLevel; + } + } + } } \ No newline at end of file diff --git a/Examples/Example_Test.cs b/Examples/Example_Test.cs index 0a7e69e1..31f70f36 100644 --- a/Examples/Example_Test.cs +++ b/Examples/Example_Test.cs @@ -23,11 +23,19 @@ namespace XCharts.Example { AddData(); } - else if(Input.GetKeyDown(KeyCode.R)) + else if (Input.GetKeyDown(KeyCode.R)) { chart.AnimationReset(); chart.AnimationFadeIn(); } + else if (Input.GetKeyDown(KeyCode.U)) + { + chart.UpdateData(0, 2, 99); + } + else if (Input.GetKeyDown(KeyCode.C)) + { + chart.UpdateData(0, 2, 22); + } } void AddData() diff --git a/Runtime/Component/Axis/AngleAxis/AngleAxisHandler.cs b/Runtime/Component/Axis/AngleAxis/AngleAxisHandler.cs index 41d6658f..8818d016 100644 --- a/Runtime/Component/Axis/AngleAxis/AngleAxisHandler.cs +++ b/Runtime/Component/Axis/AngleAxis/AngleAxisHandler.cs @@ -29,7 +29,7 @@ namespace XCharts.Runtime if (axis.IsCategory() || !axis.show) return; double tempMinValue = 0; double tempMaxValue = 0; - SeriesHelper.GetYMinMaxValue(chart, axis.polarIndex, true, axis.inverse, out tempMinValue, + SeriesHelper.GetYMinMaxValue(chart, axis.polarIndex, axis.inverse, out tempMinValue, out tempMaxValue, true); AxisHelper.AdjustMinMaxValue(axis, ref tempMinValue, ref tempMaxValue, true); if (tempMinValue != axis.context.minValue || tempMaxValue != axis.context.maxValue) diff --git a/Runtime/Component/Axis/Axis.cs b/Runtime/Component/Axis/Axis.cs index e1c4c343..738351b5 100644 --- a/Runtime/Component/Axis/Axis.cs +++ b/Runtime/Component/Axis/Axis.cs @@ -106,6 +106,7 @@ namespace XCharts.Runtime [SerializeField] protected AxisLabel m_AxisLabel = AxisLabel.defaultAxisLabel; [SerializeField] protected AxisSplitLine m_SplitLine = AxisSplitLine.defaultSplitLine; [SerializeField] protected AxisSplitArea m_SplitArea = AxisSplitArea.defaultSplitArea; + [SerializeField] protected AxisAnimation m_Animation = new AxisAnimation(); [SerializeField][Since("v3.2.0")] protected AxisMinorTick m_MinorTick = AxisMinorTick.defaultMinorTick; [SerializeField][Since("v3.2.0")] protected AxisMinorSplitLine m_MinorSplitLine = AxisMinorSplitLine.defaultMinorSplitLine; [SerializeField][Since("v3.4.0")] protected LabelStyle m_IndicatorLabel = new LabelStyle() { numericFormatter = "f2" }; @@ -387,6 +388,15 @@ namespace XCharts.Runtime set { if (value != null) { m_IndicatorLabel = value; SetComponentDirty(); } } } /// + /// animation of axis. + /// ||坐标轴动画。 + /// + public AxisAnimation animation + { + get { return m_Animation; } + set { if (value != null) { m_Animation = value; SetComponentDirty(); } } + } + /// /// Whether to add new data at the head or at the end of the list. /// ||添加新数据时是在列表的头部还是尾部加入。 /// @@ -439,7 +449,7 @@ namespace XCharts.Runtime splitArea.ClearVerticesDirty(); minorTick.ClearVerticesDirty(); minorSplitLine.ClearVerticesDirty(); - indicatorLabel.ClearComponentDirty(); + indicatorLabel.ClearVerticesDirty(); } public override void SetComponentDirty() @@ -474,6 +484,7 @@ namespace XCharts.Runtime axis.minorTick = minorTick.Clone(); axis.minorSplitLine = minorSplitLine.Clone(); axis.indicatorLabel = indicatorLabel.Clone(); + axis.animation = animation.Clone(); axis.icons = new List(); axis.data = new List(); ChartHelper.CopyList(axis.data, data); @@ -505,6 +516,7 @@ namespace XCharts.Runtime minorTick.Copy(axis.minorTick); minorSplitLine.Copy(axis.minorSplitLine); indicatorLabel.Copy(axis.indicatorLabel); + animation.Copy(axis.animation); ChartHelper.CopyList(data, axis.data); ChartHelper.CopyList(icons, axis.icons); } @@ -713,11 +725,11 @@ namespace XCharts.Runtime if (IsCategory() && boundaryGap) { var each = axisLength / data.Count; - return (float) (each * (value + 0.5f)); + return (float)(each * (value + 0.5f)); } else { - return axisLength * (float) ((value - context.minValue) / context.minMaxRange); + return axisLength * (float)((value - context.minValue) / context.minMaxRange); } } @@ -725,7 +737,7 @@ namespace XCharts.Runtime { if (context.minMaxRange > 0) { - return axisLength * ((float) (value / context.minMaxRange)); + return axisLength * ((float)(value / context.minMaxRange)); } else { @@ -789,7 +801,7 @@ namespace XCharts.Runtime { if (context.labelObjectList[i] != null) { - var text = AxisHelper.GetLabelName(this, coordinateWidth, i, context.minValue, context.maxValue, dataZoom, forcePercent); + var text = AxisHelper.GetLabelName(this, coordinateWidth, i, context.destMinValue, context.destMaxValue, dataZoom, forcePercent); context.labelObjectList[i].SetText(text); } } @@ -803,10 +815,27 @@ namespace XCharts.Runtime return Vector3.zero; } - internal void UpdateMinMaxValue(double minValue, double maxValue) + internal void UpdateMinMaxValue(double minValue, double maxValue, bool needAnimation = false) { - context.minValue = minValue; - context.maxValue = maxValue; + if (needAnimation) + { + if (context.lastMinValue == 0 && context.lastMaxValue == 0) + { + context.minValue = minValue; + context.maxValue = maxValue; + } + context.lastMinValue = context.minValue; + context.lastMaxValue = context.maxValue; + context.destMinValue = minValue; + context.destMaxValue = maxValue; + } + else + { + context.minValue = minValue; + context.maxValue = maxValue; + context.destMinValue = minValue; + context.destMaxValue = maxValue; + } double tempRange = maxValue - minValue; if (context.minMaxRange != tempRange) { @@ -823,7 +852,7 @@ namespace XCharts.Runtime if (value <= 0 || value == 1) return 0; else - return logBaseE ? (float) Math.Log(value) : (float) Math.Log(value, logBase); + return logBaseE ? (float)Math.Log(value) : (float)Math.Log(value, logBase); } public double GetLogMinIndex() @@ -868,8 +897,7 @@ namespace XCharts.Runtime 0 : (context.maxValue < 0 ? axisLength : - (float) (Math.Abs(context.minValue) * (axisLength / - (Math.Abs(context.minValue) + Math.Abs(context.maxValue)))) + (float)(Math.Abs(context.minValue) * (axisLength / (Math.Abs(context.minValue) + Math.Abs(context.maxValue)))) ); } } diff --git a/Runtime/Component/Axis/AxisContext.cs b/Runtime/Component/Axis/AxisContext.cs index 782d1f2d..056a6cb0 100644 --- a/Runtime/Component/Axis/AxisContext.cs +++ b/Runtime/Component/Axis/AxisContext.cs @@ -35,11 +35,16 @@ namespace XCharts.Runtime /// ||当前最小值。 /// public double minValue; + public double lastMinValue { get; internal set; } + public double destMinValue { get; internal set; } /// /// the current maximum value. /// ||当前最大值。 /// public double maxValue; + public double lastMaxValue { get; internal set; } + public double destMaxValue { get; internal set; } + public bool needAnimation { get; internal set; } /// /// the offset of zero position. /// ||坐标轴原点在坐标轴的偏移。 diff --git a/Runtime/Component/Axis/AxisHandler.cs b/Runtime/Component/Axis/AxisHandler.cs index bbaa795c..878c1a1b 100644 --- a/Runtime/Component/Axis/AxisHandler.cs +++ b/Runtime/Component/Axis/AxisHandler.cs @@ -140,8 +140,9 @@ namespace XCharts return; } - double tempMinValue = 0; - double tempMaxValue = 0; + double tempMinValue; + double tempMaxValue; + axis.context.needAnimation = Application.isPlaying && axis.animation.show; chart.GetSeriesMinMaxValue(axis, axisIndex, out tempMinValue, out tempMaxValue); var dataZoom = chart.GetDataZoomOfAxis(axis); @@ -152,14 +153,15 @@ namespace XCharts else dataZoom.SetYAxisIndexValueInfo(axisIndex, ref tempMinValue, ref tempMaxValue); } - if (tempMinValue != axis.context.minValue || - tempMaxValue != axis.context.maxValue || + + if (tempMinValue != axis.context.destMinValue || + tempMaxValue != axis.context.destMaxValue || m_LastInterval != axis.interval || m_LastSplitNumber != axis.splitNumber) { m_LastSplitNumber = axis.splitNumber; m_LastInterval = axis.interval; - axis.UpdateMinMaxValue(tempMinValue, tempMaxValue); + axis.UpdateMinMaxValue(tempMinValue, tempMaxValue, axis.context.needAnimation); axis.context.offset = 0; axis.context.lastCheckInverse = axis.inverse; UpdateAxisTickValueList(axis); @@ -183,6 +185,36 @@ namespace XCharts chart.RefreshChart(); } } + + if (axis.context.needAnimation && (axis.context.minValue != axis.context.destMinValue || axis.context.maxValue != axis.context.destMaxValue)) + { + var duration = axis.animation.duration == 0 + ? SeriesHelper.GetMinAnimationDuration(chart.series) / 1000f + : axis.animation.duration / 1000f; + var deltaTime = axis.animation.unscaledTime ? Time.unscaledDeltaTime : Time.deltaTime; + var minDiff = axis.context.destMinValue - axis.context.lastMinValue; + var maxDiff = axis.context.destMaxValue - axis.context.lastMaxValue; + var minDelta = minDiff / duration * deltaTime; + var maxDelta = maxDiff / duration * deltaTime; + axis.context.minValue += minDelta; + axis.context.maxValue += maxDelta; + if ((minDiff > 0 && axis.context.minValue > axis.context.destMinValue) + || (minDiff < 0 && axis.context.minValue < axis.context.destMinValue)) + { + axis.context.minValue = axis.context.destMinValue; + axis.context.lastMinValue = axis.context.destMinValue; + } + if ((maxDiff > 0 && axis.context.maxValue > axis.context.destMaxValue) + || (maxDiff < 0 && axis.context.maxValue < axis.context.destMaxValue)) + { + axis.context.maxValue = axis.context.destMaxValue; + axis.context.lastMaxValue = axis.context.destMaxValue; + } + axis.context.minMaxRange = axis.context.maxValue - axis.context.minValue; + UpdateAxisTickValueList(axis); + UpdateAxisLabelText(axis); + chart.RefreshChart(); + } } internal virtual void UpdateAxisLabelText(Axis axis) @@ -376,8 +408,8 @@ namespace XCharts { var labelWidth = AxisHelper.GetScaleWidth(axis, axisLength, i + 1, dataZoom); var labelName = AxisHelper.GetLabelName(axis, axisLength, i, - axis.context.minValue, - axis.context.maxValue, + axis.context.destMinValue, + axis.context.destMaxValue, dataZoom, isPercentStack); var label = ChartHelper.AddAxisLabelObject(splitNumber, i, @@ -631,7 +663,8 @@ namespace XCharts minorTickDistance = scaleWidth * axis.GetLogValue(1 + (count + 1) * logRange / minorTickSplitNumber); tickTotal = lastTickX + minorTickDistance; } - }else if (lastTickX <= axis.context.zeroX || (i == minorStartIndex && pX > axis.context.zeroX)) + } + else if (lastTickX <= axis.context.zeroX || (i == minorStartIndex && pX > axis.context.zeroX)) { var tickTotal = pX - minorTickDistance; while (tickTotal > lastTickX) diff --git a/Runtime/Component/Axis/AxisLabel.cs b/Runtime/Component/Axis/AxisLabel.cs index ed519f67..86cc37e4 100644 --- a/Runtime/Component/Axis/AxisLabel.cs +++ b/Runtime/Component/Axis/AxisLabel.cs @@ -106,18 +106,20 @@ namespace XCharts.Runtime public new AxisLabel Clone() { - var axisLabel = new AxisLabel(); - axisLabel.show = show; - axisLabel.formatter = formatter; - axisLabel.interval = interval; - axisLabel.inside = inside; - axisLabel.distance = distance; - axisLabel.numericFormatter = numericFormatter; - axisLabel.width = width; - axisLabel.height = height; - axisLabel.showStartLabel = showStartLabel; - axisLabel.showEndLabel = showEndLabel; - axisLabel.textLimit = textLimit.Clone(); + var axisLabel = new AxisLabel + { + show = show, + formatter = formatter, + interval = interval, + inside = inside, + distance = distance, + numericFormatter = numericFormatter, + width = width, + height = height, + showStartLabel = showStartLabel, + showEndLabel = showEndLabel, + textLimit = textLimit.Clone() + }; axisLabel.textStyle.Copy(textStyle); return axisLabel; } diff --git a/Runtime/Component/Axis/RadiusAxis/RadiusAxisHandler.cs b/Runtime/Component/Axis/RadiusAxis/RadiusAxisHandler.cs index 970ecfeb..76b2ce88 100644 --- a/Runtime/Component/Axis/RadiusAxis/RadiusAxisHandler.cs +++ b/Runtime/Component/Axis/RadiusAxis/RadiusAxisHandler.cs @@ -51,9 +51,9 @@ namespace XCharts.Runtime { if (axis == null) return; if (axis.IsCategory() || !axis.show) return; - double tempMinValue = 0; - double tempMaxValue = 0; - SeriesHelper.GetXMinMaxValue(chart, axis.polarIndex, true, axis.inverse, out tempMinValue, + double tempMinValue; + double tempMaxValue; + SeriesHelper.GetXMinMaxValue(chart, axis.polarIndex, axis.inverse, out tempMinValue, out tempMaxValue, true); AxisHelper.AdjustMinMaxValue(axis, ref tempMinValue, ref tempMaxValue, true); if (tempMinValue != axis.context.minValue || tempMaxValue != axis.context.maxValue) diff --git a/Runtime/Component/DataZoom/DataZoomHandler.cs b/Runtime/Component/DataZoom/DataZoomHandler.cs index 0778d7c8..3c686cab 100644 --- a/Runtime/Component/DataZoom/DataZoomHandler.cs +++ b/Runtime/Component/DataZoom/DataZoomHandler.cs @@ -529,7 +529,7 @@ namespace XCharts.Runtime Vector3 np = Vector3.zero; double minValue = 0; double maxValue = 0; - SeriesHelper.GetYMinMaxValue(chart, 0, chart.IsAllAxisValue(), axis.inverse, out minValue, out maxValue, false, false); + SeriesHelper.GetYMinMaxValue(chart, 0, axis.inverse, out minValue, out maxValue, false, false); AxisHelper.AdjustMinMaxValue(axis, ref minValue, ref maxValue, true); int rate = 1; @@ -621,7 +621,7 @@ namespace XCharts.Runtime Vector3 np = Vector3.zero; double minValue = 0; double maxValue = 0; - SeriesHelper.GetYMinMaxValue(chart, 0, chart.IsAllAxisValue(), axis.inverse, out minValue, out maxValue); + SeriesHelper.GetYMinMaxValue(chart, 0, axis.inverse, out minValue, out maxValue); AxisHelper.AdjustMinMaxValue(axis, ref minValue, ref maxValue, true); int rate = 1; diff --git a/Runtime/Internal/BaseChart.Custom.cs b/Runtime/Internal/BaseChart.Custom.cs index bd79a405..7c761e68 100644 --- a/Runtime/Internal/BaseChart.Custom.cs +++ b/Runtime/Internal/BaseChart.Custom.cs @@ -10,20 +10,21 @@ namespace XCharts.Runtime public virtual void GetSeriesMinMaxValue(Axis axis, int axisIndex, out double tempMinValue, out double tempMaxValue) { + var needAnimationData = !axis.context.needAnimation; if (IsAllAxisValue()) { if (axis is XAxis) { - SeriesHelper.GetXMinMaxValue(this, axisIndex, true, axis.inverse, out tempMinValue, out tempMaxValue, false, false); + SeriesHelper.GetXMinMaxValue(this, axisIndex, axis.inverse, out tempMinValue, out tempMaxValue, false, false, needAnimationData); } else { - SeriesHelper.GetYMinMaxValue(this, axisIndex, true, axis.inverse, out tempMinValue, out tempMaxValue); + SeriesHelper.GetYMinMaxValue(this, axisIndex, axis.inverse, out tempMinValue, out tempMaxValue, false, false, needAnimationData); } } else { - SeriesHelper.GetYMinMaxValue(this, axisIndex, false, axis.inverse, out tempMinValue, out tempMaxValue); + SeriesHelper.GetYMinMaxValue(this, axisIndex, axis.inverse, out tempMinValue, out tempMaxValue, false, false, needAnimationData); } AxisHelper.AdjustMinMaxValue(axis, ref tempMinValue, ref tempMaxValue, true); } diff --git a/Runtime/Internal/Utilities/DataHelper.cs b/Runtime/Internal/Utilities/DataHelper.cs index a0d181ac..c7c8db54 100644 --- a/Runtime/Internal/Utilities/DataHelper.cs +++ b/Runtime/Internal/Utilities/DataHelper.cs @@ -26,8 +26,8 @@ namespace XCharts.Runtime ref bool dataChanging, Axis axis, bool unscaledTime) { var inverse = axis.inverse; - var minValue = axis.context.minValue; - var maxValue = axis.context.maxValue; + var minValue = 0; + var maxValue = 0; if (rate <= 1 || index == minCount) { if (showData[index].IsDataChanged()) diff --git a/Runtime/Serie/Bar/BarHandler.cs b/Runtime/Serie/Bar/BarHandler.cs index c78d2acc..7cdfe601 100644 --- a/Runtime/Serie/Bar/BarHandler.cs +++ b/Runtime/Serie/Bar/BarHandler.cs @@ -192,8 +192,6 @@ namespace XCharts.Runtime var dataChangeDuration = serie.animation.GetChangeDuration(); var dataAddDuration = serie.animation.GetAdditionDuration(); var interactDuration = serie.animation.GetInteractionDuration(); - var yMinValue = relativedAxis.context.minValue; - var yMaxValue = relativedAxis.context.maxValue; var areaColor = ColorUtil.clearColor32; var areaToColor = ColorUtil.clearColor32; @@ -219,7 +217,7 @@ namespace XCharts.Runtime var state = SerieHelper.GetSerieState(serie, serieData); var itemStyle = SerieHelper.GetItemStyle(serie, serieData, state); var value = axis.IsCategory() ? i : serieData.GetData(0, axis.inverse); - var relativedValue = serieData.GetCurrData(1, dataAddDuration, dataChangeDuration, relativedAxis.inverse, yMinValue, yMaxValue, serie.animation.unscaledTime); + var relativedValue = serieData.GetCurrData(1, dataAddDuration, dataChangeDuration, relativedAxis.inverse, 0, 0, serie.animation.unscaledTime); var borderWidth = relativedValue == 0 ? 0 : itemStyle.runtimeBorderWidth; var borderGap = relativedValue == 0 ? 0 : itemStyle.borderGap; var borderGapAndWidth = borderWidth + borderGap; diff --git a/Runtime/Serie/Bar/SimplifiedBarHandler.cs b/Runtime/Serie/Bar/SimplifiedBarHandler.cs index 49833431..f98576d3 100644 --- a/Runtime/Serie/Bar/SimplifiedBarHandler.cs +++ b/Runtime/Serie/Bar/SimplifiedBarHandler.cs @@ -137,8 +137,6 @@ namespace XCharts.Runtime var dataChangeDuration = serie.animation.GetChangeDuration(); var dataAddDuration = serie.animation.GetAdditionDuration(); var interactDuration = serie.animation.GetInteractionDuration(); - double yMinValue = relativedAxis.context.minValue; - double yMaxValue = relativedAxis.context.maxValue; var areaColor = ColorUtil.clearColor32; var areaToColor = ColorUtil.clearColor32; @@ -163,7 +161,7 @@ namespace XCharts.Runtime var highlight = serieData.context.highlight || serie.highlight; var itemStyle = SerieHelper.GetItemStyle(serie, serieData); var value = axis.IsCategory() ? i : serieData.GetData(0, axis.inverse); - var relativedValue = serieData.GetCurrData(1, dataAddDuration, dataChangeDuration, relativedAxis.inverse, yMinValue, yMaxValue, serie.animation.unscaledTime); + var relativedValue = serieData.GetCurrData(1, dataAddDuration, dataChangeDuration, relativedAxis.inverse, 0, 0, serie.animation.unscaledTime); var borderWidth = relativedValue == 0 ? 0 : itemStyle.runtimeBorderWidth; if (!serieData.interact.TryGetColor(ref areaColor, ref areaToColor, ref interacting, interactDuration)) diff --git a/Runtime/Serie/Heatmap/HeatmapHandler.cs b/Runtime/Serie/Heatmap/HeatmapHandler.cs index 2ff83ec0..a5b3ced0 100644 --- a/Runtime/Serie/Heatmap/HeatmapHandler.cs +++ b/Runtime/Serie/Heatmap/HeatmapHandler.cs @@ -249,7 +249,7 @@ namespace XCharts.Runtime var isRectSymbol = symbol.type == SymbolType.Rect; SerieHelper.GetSymbolInfo(out borderColor, out symbolBorder, out cornerRadius, serie, serieData, chart.theme, state); var value = serieData.GetCurrData(dimension, dataAddDuration, dataChangeDuration, yAxis.inverse, - yAxis.context.minValue, yAxis.context.maxValue, unscaledTime); + 0, 0, unscaledTime); if (serieData.IsDataChanged()) dataChanging = true; var pos = new Vector3(zeroX + (i + 0.5f) * xWidth, zeroY + (j + 0.5f) * yWidth); diff --git a/Runtime/Serie/SeriesHelper.cs b/Runtime/Serie/SeriesHelper.cs index 074f2c50..a8575bc2 100644 --- a/Runtime/Serie/SeriesHelper.cs +++ b/Runtime/Serie/SeriesHelper.cs @@ -308,10 +308,10 @@ namespace XCharts.Runtime /// /// /// - public static void GetXMinMaxValue(BaseChart chart, int axisIndex, bool isValueAxis, - bool inverse, out double minValue, out double maxValue, bool isPolar = false, bool filterByDataZoom = true) + public static void GetXMinMaxValue(BaseChart chart, int axisIndex, bool inverse, out double minValue, + out double maxValue, bool isPolar = false, bool filterByDataZoom = true, bool needAnimation = false) { - GetMinMaxValue(chart, axisIndex, isValueAxis, inverse, false, out minValue, out maxValue, isPolar, filterByDataZoom); + GetMinMaxValue(chart, axisIndex, inverse, false, out minValue, out maxValue, isPolar, filterByDataZoom, needAnimation); } /// @@ -321,18 +321,17 @@ namespace XCharts.Runtime /// /// /// - public static void GetYMinMaxValue(BaseChart chart, int axisIndex, bool isValueAxis, - bool inverse, out double minValue, out double maxValue, bool isPolar = false, bool filterByDataZoom = true) + public static void GetYMinMaxValue(BaseChart chart, int axisIndex, bool inverse, out double minValue, + out double maxValue, bool isPolar = false, bool filterByDataZoom = true, bool needAnimation = false) { - GetMinMaxValue(chart, axisIndex, isValueAxis, inverse, true, out minValue, out maxValue, isPolar, filterByDataZoom); + GetMinMaxValue(chart, axisIndex, inverse, true, out minValue, out maxValue, isPolar, filterByDataZoom, needAnimation); } private static Dictionary> _stackSeriesForMinMax = new Dictionary>(); private static Dictionary _serieTotalValueForMinMax = new Dictionary(); - private static DataZoom xDataZoom, yDataZoom; - public static void GetMinMaxValue(BaseChart chart, int axisIndex, bool isValueAxis, + public static void GetMinMaxValue(BaseChart chart, int axisIndex, bool inverse, bool yValue, out double minValue, out double maxValue, bool isPolar = false, - bool filterByDataZoom = true) + bool filterByDataZoom = true, bool needAnimation = false) { double min = double.MaxValue; double max = double.MinValue; @@ -346,8 +345,8 @@ namespace XCharts.Runtime if ((isPolar && serie.polarIndex != axisIndex) || (!isPolar && serie.yAxisIndex != axisIndex) || !serie.show) continue; - var updateDuration = serie.animation.GetChangeDuration(); - var dataAddDuration = serie.animation.GetAdditionDuration(); + var updateDuration = needAnimation ? serie.animation.GetChangeDuration() : 0; + var dataAddDuration = needAnimation ? serie.animation.GetAdditionDuration() : 0; var unscaledTime = serie.animation.unscaledTime; if (isPercentStack && SeriesHelper.IsPercentStack(series, serie.serieName)) { @@ -406,8 +405,8 @@ namespace XCharts.Runtime } else { - var updateDuration = serie.animation.GetChangeDuration(); - var dataAddDuration = serie.animation.GetAdditionDuration(); + var updateDuration = needAnimation ? serie.animation.GetChangeDuration() : 0; + var dataAddDuration = needAnimation ? serie.animation.GetAdditionDuration() : 0; var unscaledTime = serie.animation.unscaledTime; for (int j = 0; j < showData.Count; j++) { @@ -420,10 +419,8 @@ namespace XCharts.Runtime } else { - //currData = yValue ? showData[j].GetData(1) : showData[j].GetData(0); currData = showData[j].GetCurrData(yValue ? 1 : 0, dataAddDuration, updateDuration, unscaledTime, inverse); } - //if (inverse) currData = -currData; if (!serie.IsIgnoreValue(showData[j], currData)) _serieTotalValueForMinMax[j] = _serieTotalValueForMinMax[j] + currData; } @@ -466,5 +463,18 @@ namespace XCharts.Runtime } return max; } + + public static float GetMinAnimationDuration(List series) + { + float min = float.MaxValue; + foreach (var serie in series) + { + var changeAnimation = serie.animation.change.duration; + var additionAnimation = serie.animation.addition.duration; + if (changeAnimation != 0 && changeAnimation < min) min = changeAnimation; + if (additionAnimation != 0 && additionAnimation < min) min = additionAnimation; + } + return min; + } } } \ No newline at end of file