From 5d5f32b55e486576d760f5f5c92a7dee9063098a Mon Sep 17 00:00:00 2001
From: monitor1394
Date: Sun, 3 Sep 2023 23:53:00 +0800
Subject: [PATCH] 3.8.0
---
Documentation~/en/changelog.md | 85 +++++++++++++---
Documentation~/en/tutorial01.md | 172 ++++++++++++++++++--------------
Documentation~/zh/changelog.md | 7 +-
README-en.md | 110 ++++++++++----------
Runtime/Internal/XChartsMgr.cs | 2 +-
package.json | 4 +-
6 files changed, 228 insertions(+), 152 deletions(-)
diff --git a/Documentation~/en/changelog.md b/Documentation~/en/changelog.md
index f3efe7ea..b964587e 100644
--- a/Documentation~/en/changelog.md
+++ b/Documentation~/en/changelog.md
@@ -2,6 +2,7 @@
# 更新日志
[master](#master)
+[v3.8.0](#v380)
[v3.7.0](#v370)
[v3.6.0](#v360)
[v3.5.0](#v350)
@@ -62,6 +63,62 @@
## master
+## v3.8.0
+
+Highlights:
+
+* Refactoring `Animation` animation system, adding support for `New Animation` and `Interactive animation`
+* Improved `PieChart` animation interactive representation
+* Added four new markers for `Symbol` : `EmptyTriangle`, `EmptyDiamond`, `Plus` and `Minus`
+* Improved `Chart` mouse interaction callback
+* Added the function of `LabelLine` to fix the horizontal coordinate
+* Added `GridLayout` grid layout component
+* Added `Auto` type for `Tooltip`
+* Optimizes and fixes several other issues
+
+Log details:
+
+* (2023.09.03) Release `v3.8.0`
+* (2023.09.01) Added `Tooltip` Auto to automatically set display type and trigger type
+* (2023.08.29) Added gridIndex support for `Ring` to set the specified grid
+* (2023.08.29) Added gridIndex support for Radar to set the specified grid
+* (2023.08.29) Added gridIndex support for `Pie` to set specified grids
+* (2023.08.29) Added the GridLayout component for managing multiple GridCoord layouts
+* (2023.08.25) Fixed display only one Label when there are multiple Marklines
+* (2023.08.25) Fixed MarkLine drawing outside the coordinate system after opening Clip
+* (2023.08.24) Optimizes `YAxis` to default 0-1 range when all data is 0
+* (2023.08.23) Fixed an issue where `Label` of `YAxis` could duplicate
+* (2023.08.22) Fixed `Bar` display hidden drawing performance exception
+* (2023.08.22) Improved Zebra histogram rendering performance (#276)
+* (2023.08.16) Added Daemon daemon to resolve an error after TMP is enabled locally
+* (2023.08.15) Fixed `Data` displaying axes incorrectly when data is between -1 and 1 (#273) (by __Ambitroc__)
+* (2023.08.14) Fixed `XCharts` updating error after` TextMeshPro `and` NewInputSystem `are enabled locally (#272)
+* (2023.08.12) Fixed `Chart` error when deleted at runtime (#269)
+* (2023.08.11) Fixed an issue where data could not be added when DataZoom was enabled
+* (2023.08.11) Fixed `itemFormatter` not working when `SerieData` sets ItemStyle separately
+* (2023.08.10) Improved BarChart`s performance when Tooltip`s Trigger is an Item
+* (2023.08.09) Added `Axis` to support dynamic icon colors by setting `color` of `IconStyle` to `clear`
+* (2023.08.08) Added support for `Pie` for `LabelLine`s` lineEndX `
+* (2023.08.05) Clean up the code for `Examples` and remove unnecessary use cases
+* (2023.08.04) Added support for `LabelLine`'s `lineEndX` to set the boot line to fixed X position
+* (2023.08.04) Added support for Ring`s avoidLabelOverlap to avoid text stacking (#247)
+* (2023.08.03) Improved Chart`s onSerieEnter, onSerieExit, and onSerieClick callbacks
+* (2023.08.02) Fixed invalid `onSerieEnter` and `onSerieExit` callbacks for `BarChart`
+* (2023.08.02) Added support for Symbol's `Plus` and `Minus` signs
+* (2023.07.31) Added support for Symbol's `EmptyTriangle` and `EmptyDiamond`, improved `Symbol` performance
+* (2023.07.31) Improved the default configuration effect of `Line`
+* (2023.07.27) Add `Serie` to `minRadius` to set minimum radius
+* (2023.07.26) Added `MLValue` multiple values
+* (2023.07.25) Added `XLog` log system
+* (2023.07.18) Improved the interactive animation effect of `Pie` pie chart
+* (2023.07.14) Added support for `Animation` `Interaction` interactive animation configuration
+* (2023.07.11) Added `Animation` `Addition` new animation configuration support
+* (2023.07.11) Reconstructs `Animation` animation system to improve animation experience
+* (2023.06.30) Added support for PolarCood`s indicatorLabelOffset setting indicating text offsets
+* (2023.06.30) Fixed an issue where the background color of Axis `IndicatorLabel` could be abnormal
+* (2023.06.30) Added support for Axis `IndicatorLabel` customizable `color`
+* (2023.06.12) Fixed an issue where AxisLabel's formatterFunction had the wrong value on the value axis
+
## v3.7.0
Highlights:
@@ -75,17 +132,17 @@ Log details:
* (2022.06.08) Release v3.7.0
* (2023.06.04) Added `HelpDoc` help document skip
-* (2023.05.30) Fix to Serie name with `_` line causing `Legend` to not fire (#252) (by __svr2kos2__)
+* (2023.05.30) Fixed Serie name with `_` line causing `Legend` to not fire (#252) (by __svr2kos2__)
* (2023.05.10) Added `MinMaxAuto` range type for `Axis`
* (2023.05.10) Added support for `Clip` for `Line`
* (2023.05.04) Fixed `Axis` setting` CeilRate `not taking effect in range -1 to 1
* (2023.05.04) Optimizes MinMax type range calculations for Axis
-* (2023.05.04) Fix to AxisLabel displaying `Label` formatting incorrectly when the data is all floating point numbers less than 1
-* (2023.05.04) Fix to `Theme` being reset after modifying default theme parameters
+* (2023.05.04) Fixed AxisLabel displaying `Label` formatting incorrectly when the data is all floating point numbers less than 1
+* (2023.05.04) Fixed `Theme` being reset after modifying default theme parameters
* (2023.05.04) Added `Warning` when `Symbol` selects `Custom` type
-* (2023.04.15) Fix to `DataZoom` may be abnormal in multiple charts (#252)
-* (2023.04.14) Fix to `Tooltip` may be abnormal when there is only one data
-* (2023.04.14) added `BaseChart`s `TriggerTooltip()` interface to try to trigger `ToolTip`
+* (2023.04.15) Fixed `DataZoom` may be abnormal in multiple charts (#252)
+* (2023.04.14) Fixed `Tooltip` may be abnormal when there is only one data
+* (2023.04.14) Added `BaseChart`s `TriggerTooltip()` interface to try to trigger `ToolTip`
* (2023.04.12) Optimizes` RadarCood `setting` startAngle `with text following the adjustment position
* (2023.04.12) Added `Radar` support for wildcard `{b}`
* (2023.04.11) Fixed an issue where Inspector could be abnormal when dynamically adding components
@@ -153,7 +210,7 @@ Log details:
* (2022.11.26) Fixed an exception when selecting `DataZoom` from right to left
* (2022.11.20) Rename `UdpateXAxisIcon()` interface to `UpdateXAxisIcon()` (#235)
* (2022.11.12) Added `Pie` `LabelLine` support `Symbol`
-* (2022.11.12) added `DataZoom` `MarqueeStyle` support box selection area
+* (2022.11.12) Added `DataZoom` `MarqueeStyle` support box selection area
* (2022.11.10) Optimized area color fill effect for `Radar` when type is` Single `
* (2022.11.04) Fixed exception after itemFormatter `Tooltip` set wildcard `{d}`
@@ -217,7 +274,7 @@ Details:
* (2022.09.06) Added support for `SerieSymbol` `minSize` and `maxSize` parameters to set maximum and minimum sizes
* (2022.09.06) Added support for `showStartLine` and `showEndLine` parameters for `AxisSplitLine` to set whether to display the first splitter
* (2022.09.06) Added `Heatmap` support for different patterns via `symbol`
-* (2022.09.05) added `Heatmap` `heatmapType` support for setting `Data` and `Count` two different mapping methods of Heatmap
+* (2022.09.05) Added `Heatmap` `heatmapType` support for setting `Data` and `Count` two different mapping methods of Heatmap
* (2022.09.05) Optimizes `Tooltip` when indicating numerical axis in thermograph
* (2022.09.02) Added `onPointerEnterPie` callback support
* (2022.09.02) Optimize the HeatmapChart `
@@ -227,7 +284,7 @@ Details:
* (2022.08.29) optimizes `YAxis` Max/min calculations when `DataZoom` is enabled
* (2022.08.29) optimized `CandlestickChart` massive data rendering
* (2022.08.28) fixed an issue where `LineChart` does not appear properly in the case of stacking and custom Y-axis range
-* (2022.08.26) added `Legend` new icon type `Candlestick`
+* (2022.08.26) Added `Legend` new icon type `Candlestick`
* (2022.08.26) optimizes` CandlestickChart `performance and adjusts related` AddData() `interface parameters
* (2022.08.26) Added support for setting different display positions in Tooltip's `position` parameter
* (2022.08.26) Delete the `fixedXEnable` and `fixedYEnable` arguments of Tooltip
@@ -259,7 +316,7 @@ Details:
* (2022.08.10) Optimized font synchronization for Theme
* (2022.08.10) optimizes the default `layer` of Chart to `UI`
* (2022.08.09) optimizes the `Time` timeline of `Axis`
-* (2022.08.09) added AreaStyle `innerFill` parameter to support filling convex polygons
+* (2022.08.09) Added AreaStyle `innerFill` parameter to support filling convex polygons
* (2022.08.08) Optimized the maintenance of data item indexes in `Serie`, added detection and repair functions, and fixed related problems
* (2022.07.29) Fixed `Unity` version compatibility: Chart creation exception after some versions import
* (2022.07.29) Add `Axis` to` Time `timeline, support sub-scale and sub-divider
@@ -273,10 +330,10 @@ Details:
* (2022.07.22) Omit the `Emphasis`,` EmphasisItemStyle `, `EmphasisLabelStyle`, `EmphasisLabelLine` component
* (2022.07.20) Added `Since` feature support for classes
* (2022.07.20) fixed the `showStartLabel` and `showEndLabel` parameter Settings for `AxisLabel` not taking effect when `Axis` is on the` Value `Axis
-* (2022.07.19) added `Axis` to` MinorSplitLine `to set the Axis degree divider
-* (2022.07.19) added `Axis` `MinorTick` to set the Axis sub-scale
+* (2022.07.19) Added `Axis` to` MinorSplitLine `to set the Axis degree divider
+* (2022.07.19) Added `Axis` `MinorTick` to set the Axis sub-scale
* (2022.07.17) Add the `smooth` parameter for Radar to set the smooth curve
-* (2022.07.15) added DataZoom support for the `Time` timeline
+* (2022.07.15) Added DataZoom support for the `Time` timeline
## v3.1.0
@@ -287,7 +344,7 @@ Details:
* (2022.07.04) Added the axisMaxSplitNumber parameter of `Settings` to set the maximum number of partitions for `Axis`
* (2022.07.04) Fixed Axis` Tick `drawing position after setting `offset`(#209)
* (2022.07.03) Optimize the `AxisLabel` formatterFunction custom delegate
-* (2022.07.03) added the `onZero` parameter of `AxisName` to support setting the coordinate AxisName and position to match the Y-axis 0 scale (#207)
+* (2022.07.03) Added the `onZero` parameter of `AxisName` to support setting the coordinate AxisName and position to match the Y-axis 0 scale (#207)
* (2022.07.02) Fixed bug where `Legend` was not working when `PieChart` was being created dynamically with code (#206)
* (2022.07.02) Fixed `YAxis` AxisLabel setting `onZero` not working
* (2022.07.02) Fixed `AxisLabel` code refreshing after setting `distance` property
diff --git a/Documentation~/en/tutorial01.md b/Documentation~/en/tutorial01.md
index 621a4e0d..bf2e710f 100644
--- a/Documentation~/en/tutorial01.md
+++ b/Documentation~/en/tutorial01.md
@@ -1,85 +1,103 @@
-# 教程:5分钟上手 XCharts 3.0
+---
+title: Introductory tutorial: Get started with XCharts 3.0 in 5 minutes
+sidebar_position: 11
+slug: /tutorial01
+---
-## 获取和导入 XCharts
+# Tutorial: Get started with XCharts 3.0 in 5 minutes
-XCharts可通过以下任意一种方式导入到项目:
+> Note: This tutorial is for XCharts 3.x version only
-- 直接将XCharts源码到项目
+## What do I need to know before using XCharts
- 下载好XCharts源码后,直接将XCharts目录拷贝到Unity项目工程的Assets目录或Packages目录下,编译通过后即可使用。
+- Have used Unity, know the basic operation of Unity.
+- Understand UGUI and can use UGUI.
+- Understand MonoBehavior script usage in Unity, know how to hang scripts, manipulate scripts with code.
-- 通过`Assets/Import Package`导入XCharts
+## Get and import XCharts
- 下载好XCharts的.unitypackage文件后,打开Unity,菜单栏 Assets-->Import Package-->选中.unitypackage导入即可开始使用XCharts。
+XCharts can be imported into a project in any of the following ways:
-- 通过`Package Manager`导入XCharts
+- Source XCharts directly into the project
- 对于Unity 2018.3以上版本,可通过 Package Manager来导入XCharts,打开Package Manager后,通过 `Add package form git URL...`,输入XCharts3.0的GitHub URL: `https://github.com/XCharts-Team/XCharts.git#3.0` 稍等片刻后即可使用XCharts。
+ After downloading the XCharts source code, copy the XCharts directory directly to the Assets directory of the Unity project.
- 也可以直接将package加入到`manifest.json`文件:打开`Packages`目录下的`manifest.json`文件,在`dependencies`下加入:
+- Import XCharts through `Assets/Import Package`
+
+ After downloading the.unitypackage file for XCharts, open Unity and go to the menu bar Assets--> Import Package--> Select.unitypackage import to start using XCharts.
+
+- Import XCharts through the Package Manager
+
+ For Unity 2018.3 and later, XCharts can be imported through the Package Manager. After opening the Package Manager, run the `Add package form git URL...`, input XCharts dead simple URL: ` https://github.com/XCharts-Team/XCharts.git use XCharts after ` wait a moment.
+
+ You can also add the package directly to the manifest.json file: Open the manifest.json file in the Packages directory and add it under dependencies:
``` json
- "com.monitor1394.xcharts": "https://github.com/XCharts-Team/XCharts.git#3.0",
+ "com.monitor1394.xcharts" : "https://github.com/XCharts-Team/XCharts.git",
```
- 如需更新`XCharts`,删除`manifest.json`文件(部分Unity版本可能是packages-lock.json文件)的`lock`下的`com.monitor1394.xcharts`相关内容即会重新下载编译。
+ To update XCharts, remove com.monitor1394.xcharts from the manifest.json file under lock (some versions of Unity may be packages-lock.json) and re-download and compile.
+
+- Recommended daemon into XCharts (not required)
-## 添加一个简单图表
+ [XCharts Daemon](https://github.com/XCharts-Team/XCharts-Daemon) can ensure update compilation is normal, when the local open TextMeshPro or NewInputSystem would be very useful. After importing Xchart-daemon into a project, when updating XCharts, the Daemon will automatically refresh asmdef according to the status of local TMP, etc., to ensure normal compilation and facilitate the execution of automated processes such as CI-CD.
-在`Hierarchy`视图下右键或菜单栏`GameObject`下拉选择`XCharts->LineChart`,即可快速创建一个默认的折线图出来:
+## Add a simple chart
+
+Right-click in `Hierarchy` view or menu bar `GameObject` drop down and select `XCharts->LineChart`, can quickly create a default line chart out:
![linechart1](img/tutorial01_linechart1.png)
-## 添加多个Seire
+## Add multiple Seire
-在`Inspector`视图,找到`LineChart`的面板,通过`Add Serie`按钮,可以添加第二条`Line`折线:
+In the Inspector view, locate LineChart's panel, and with the `Add Serie` button, you can add a second Line line:
![op_addserie](img/tutorial01_addserie.png)
![linechart2](img/tutorial01_linechart2.png)
-## 添加其他组件
+## Add other components
-默认图表没有`Legend`,需要`Legend`组件可通过`Add Component`按钮添加:
+The default chart does not have a `Legend`, and a `Legend` Component can be added via the `Add Component` button:
![op_addcomponent](img/tutorial01_addcomponent.png)
-## 添加Serie组件
+## Add Serie components
-Serie只自带了几个常见的组件,其他组件要根据需求额外添加,不同的Serie支持不同的额外组件。比如,需要给折线图区域填充颜色,可单独给`Serie`添加`AreaStyle`组件:
+Serie comes with only a few common components, and others are added as needed. For example, if you need to fill a line chart area with color, you can add a separate `AreaStyle` component to Serie:
![op_addseriecomponent](img/tutorial01_addseriecomponent.png)
![linechart3](img/tutorial01_linechart3.png)
-## 添加SerieData组件
+## Add the SerieData component
-如果需要个性化定制每个数据项的配置,可以单独给每个`SerieData`添加`Component`。比如我们给折线图的第二个数据单独显示`Label`:
+If you need to personalize the configuration of each data item, you can add a Component to each SerieData separately. For example, we give the second data of the line chart a separate display `Label`:
![op_addseriedatacomponent](img/tutorial01_addseriedatacomponent.png)
![linechart4](img/tutorial01_linechart4.png)
-## 更多组件和配置参数
+## More components and configuration parameters
-功能越丰富就越需要更多的组件和参数支持。XCharts有多达几十种的主组件和子组件,每个组件有几个至几十个不等的可配置参数,以支持各种灵活而复杂的功能。
+XCharts has been iteratively optimized and now has dozens of main and sub-components, each with a few to dozens of configurable parameters to support a variety of flexible and complex functions.
-首次接触XCharts者可在 `Inspector` 视图下可以添加和调整各个组件,`Game` 视图会实时反馈调整的效果,以熟悉各种组件实现的效果。各个组件的详细参数说明可查阅[XCharts配置项手册](configuration.md)。
+Using XCharts for the first time, you can add various charts in the `Inspector` view, add or adjust the components in the chart, and the `Game` view gives real-time feedback on the effects of adjustments to familiarize yourself with the use of various components. Detailed parameter descriptions of each component can be found in the [XCharts Configuration](Configuration.md).
-## 如何快速调整参数
+## How to adjust parameters quickly
-`XCharts`是配置参数驱动。想要什么效果,你只需要去调整对应组件下的配置参数就可以,不需要去改`Hierarchy`视图下的节点,因为那些节点是由`XCharts`内部根据配置参数生成的,即使改了也会在刷新时被还原回来。
+XCharts is configuration and data driven. Want what effect, only need to adjust the configuration parameters under the corresponding component can be, do not need to change the nodes under the `Hierarchy` view, because those nodes are generated by the `XCharts` internal according to the configuration and data, even if changed will be restored in the refresh.
-快速定位你想要改的效果对应的组件。这就需要对组件有一定的了解。比如我们想要让X轴的轴线末端显示箭头,如何定位?第一步,X轴定位到`XAxis0`;第二步,轴线定位到`AxisLine`;最后,再去看`AxisLine`组件下有没有这样的参数可以实现这个效果。
+How to quickly locate the component corresponding to the effect you want to change requires a certain understanding of the component. For example, if we want to show an arrow at the end of the X-axis, how do we position it? First, position the X-axis to `XAxis0`; Second, locate the axis to `AxisLine`; Finally, check to see if there are any parameters in the AxisLine component that can achieve this effect, and check [XCharts configuration](Configuration.md) for uncertain parameters.
-`XCharts`提供从全局`Theme`、系列`Serie`、单个数据项`SerieData`全方位的参数配置。优先级从大到小为:`SerieData`->`Serie`->`Theme`。以`ItemStyle`的颜色为例:
+`XCharts` provides a full range of parameter configuration from the global` Theme `, series` Serie `, and single data item `SerieData`. The priority in descending order is: `SerieData` -> `Serie` -> `Theme`. Take the color of `ItemStyle` for example:
-1. 如果`SerieData`的`ItemStyle`配置有非`0000`颜色值,则优先用这个颜色值。
-2. 如果`Serie`的`ItemStyle`配置有非`0000`颜色值,则优先用这个颜色值。
-3. 否则颜色值取自主题`Theme`的`Color Palette`。
+1. If the `ItemStyle` of `SerieData` has a color value other than `0000`, this color value is preferred.
+2. If the ItemStyle of `Serie` is configured with a color value other than `0000`, this color value takes precedence.
+3. Otherwise, the Color value is taken from the Color Palette of the Theme.
-通常配置的颜色值为0000时表示用主题默认颜色;配置参数的值为0或null时表示用主题默认配置。
+Usually, `0000` indicates the theme default color, and 0 or null indicates the theme default.
-## 用代码添加折线图
+## Add line charts with code
-给`gameObject`挂上`LineChart`脚本:
+Attach the `LineChart` script to the gameObject:
```C#
var chart = gameObject.GetComponent();
@@ -89,22 +107,21 @@ if (chart == null)
chart.Init();
}
```
-用代码生成的Chart需要调用一次Init()。
-调整大小:
+Resize:
```C#
chart.SetSize(580, 300);//代码动态设置尺寸,或直接操作chart.rectTransform,或直接在Inspector上改
```
-设置标题:
+Set the title:
```C#
var title = chart.EnsureChartComponent();
title.text = "Simple Line";
```
-设置提示框和图例是否显示:
+Set whether prompt boxes and legends are displayed:
```C#
var tooltip = chart.EnsureChartComponent();
@@ -114,7 +131,7 @@ var legend = chart.EnsureChartComponent
@@ -44,7 +43,7 @@
-A powerful, easy-to-use, configurable charting and data visualization library for Unity. Supporting line, bar, pie, radar, scatter, heatmap, ring, candlestick, polar, liquid and other common chart. Also support 3d pie, 3d bar, 3d pyramid, funnel, gauge, liquid, pictorialbar, gantt, treemap and ther extended chart.
+A powerful and easy-to-use data visualization library for Unity. It supports more than ten built-in charts, including line, bar, pie, radar, scatter, heatmap, ring, candlestick, polar, parallel coordinates, as well as extended charts such as 3d pie, 3d bar, 3d pyramid, funnel, gauge, liquid, pictorialbar, gantt, and treemap.
[XCharts3.0 Homepage](https://xcharts-team.github.io)
@@ -57,52 +56,25 @@ A powerful, easy-to-use, configurable charting and data visualization library fo
## Features
-* Rich built-in examples and templates, parameter visualization configuration, effect real-time preview, pure code drawing.
-* Support line, bar, pie, radar, scatter, heatmaps, gauge, ring, polar, liquid and other common chart.
-* Support line graph, curve graph, area graph, step graph and other LineChart.
-* Support parallel bar, stack bar, stack percentage bar, zebra bar and other BarChart.
-* Support ring, rose and other PieChart.
-* Support line-bar chart, scatter-line chart and other combination chart.
-* Support solid line, curve, ladder line, dotted line, dash line, dot line, double dot line and other lines.
-* Support custom theme, built-in theme switching.
-* Support custom chart content drawing, drawing points, line, curve, triangle, quadrilateral, circle, ring, sector, border, arrow and other drawing API.
-* Support interactive operations such as data filtering, view zooming and detail display on PC and mobile terminals.
-* Support 10,000-level big data rendering.
-* Support TextMeshPro.
-
-## XCharts3.0 new feature
-
-* Added `Time` axis.
-* Added `SingleAxis`.
-* Added multiple coordinate systems: `Grid`, `Polar`, `Radar`, `SingleAxis`.
-* Added multiple animation methods.
-* Added multiple chart interactions.
-* Added internationalization support.
-* Added `Widgets`.
-* Added multiple extension charts.
-
-## XCharts3.0 improvements over XCharts2.0
-
-* More robust underlying framework.
-* More powerful performance.
-* Smaller serialized files.
-* Better interactive experience.
-* More component support.
-* More powerful ability to self-report text.
-* More reasonable component adjustments.
-* More flexible component insertion and removal.
-* More efficient secondary development.
-* Richer Demo examples.
-
-## XCharts3.0 and 2.0 data comparison
-
-| Case | XCharts2.0 | XCharts3.0 | Note |
-| -- | -- | -- | -- |
-| Fps of 2000 data line chart | ` 20 ` | ` 83 ` | Performance improvements `3` times |
-| Vertices of 2000 data line chart | ` 36.5 k ` | ` 6.7 k ` | Vertices reduce `4` times |
-| Prefab size of 2000 data line chart | ` 11.1 MB ` | ` 802 KB ` | Serialized file size to reduce `10` times |
-| Max data of a single line chart | ` 4.1 k ` | ` 19 k ` | Single Serie data capacity improvement `4` times |
-| Num of chart support | ` 11 ` | ` 23 ` | More than `1` times as many chart are supported |
+* __Pure code rendering__: The chart is completely rendered with pure code, without the need for additional texture or shader resources.
+* __Visual configuration__: Visual configuration of parameters with real-time preview of the effect, and support for dynamic modification of configuration and data during runtime.
+* __High customizability__: Supports arbitrary adjustments from theme and configuration parameters; supports custom drawing, callback functions, and custom implementations of charts.
+* __Multiple built-in charts__: Supports various built-in charts such as line charts, bar charts, pie charts, radar charts, scatter plots, heat maps, polar charts, K-line charts, parallel coordinates, etc.
+* __Multiple extended charts__: Supports extended charts such as 3D column charts, 3D pie charts, funnel charts, pyramids, dashboards, water level charts, iconic bar charts, Gantt charts, and tree maps.
+* __Multiple extended features__: Supports extended UI components such as tables and statistical values.
+* __Multiple chart combinations__: Supports arbitrary combinations of built-in charts, with multiple same or different types of charts displayed simultaneously in the same chart.
+* __Various coordinate systems__: Supports coordinate systems such as Cartesian coordinates, polar coordinates, and single axes.
+* __Rich components__: Supports common components such as titles, legends, tooltips, markings, marking areas, data area zooming, and visual mapping.
+* __Rich line charts__: Supports various line charts such as straight line charts, curved line charts, dashed line charts, area charts, step line charts, etc.
+* __Rich bar charts__: Supports various bar charts such as stacked bar charts, stacked percentage bar charts, zebra bar charts, and capsule bar charts.
+* __Rich pie charts__: Supports various pie charts such as ring charts, rose charts, ring rose charts, etc.
+* __Rich lines__: Supports various lines such as solid lines, curves, step lines, dashed lines, dot lines, dotted lines, and double dot-dashed lines.
+* __Custom drawing__: Supports custom chart content drawing with powerful drawing APIs for drawing points, lines, and other graphics.
+* __Large data rendering__: Supports rendering of tens of thousands of data points; supports sampling rendering; special simplified charts support better performance.
+* __Custom themes__: Supports theme customization and import/export; includes both light and dark default themes.
+* __Animations and interactions__: Supports various animations such as fade-in animation, fade-out animation, change animation, addition animation, and * interactive animation; supports interactive operations such as data filtering, view zooming, and detailed display on multiple platforms.
+* __Third-party extensions__: Supports integration with TexMeshPro and New Input System.
+* __Version and compatibility__: Supports all Unity versions above 5.6 and runs on all platforms.
## Screenshots
@@ -110,34 +82,54 @@ A powerful, easy-to-use, configurable charting and data visualization library fo
![extendchart](Documentation~/en/img/readme_extendchart.png)
-For more examples, see [XCharts-Demo](https://github.com/XCharts-Team/XCharts-Demo), You can also go to [Online Demo](https://xcharts-team.github.io/examples/) to see the running effect of `WebGL`.
+## Attention
+
+* `XCharts3.0` is not fully compatible with `XCharts2.0` version, upgrading `3.0` may require some code adjustments, and some chart configurations need to be readjusting. It is recommended that old projects can continue to use `XCharts2.0`, and new projects are recommended to use `XCharts3.0`.
+* `XCharts2.0` enters the maintenance phase, and only serious `bugs` will be fixed later, in principle, no more new features will be added.
+* `XCharts` theoretically supports `Unity 5.6` and above, but due to limited version testing, it is inevitable to slip up, and version compatibility issues can be raised.
+* This repository only contains `XCharts` source code, does not contain `Demo` sample section. Need to look at ` Demo ` please go to the sample source code [XCharts - Demo](https://github.com/XCharts-Team/XCharts-Demo) repo. You can also view the running effect of `WebGL` in your browser [Online Demo](https://xcharts-team.github.io/examples/).
## Use
-1. Import `XCharts` unitypackage or source code into the project.
-2. Right-click `Hierarchy` view and choose `XCharts->LineChart` to create a default LineChart.
-3. You can adjust the parameters of each component in `Inspector` and see the real-time effects in `Game` view.
+* Import `XCharts` unitypackage or source code into the project.
+* Right-click `Hierarchy` view and choose `XCharts->LineChart` to create a default LineChart.
+* You can adjust the parameters of each component in `Inspector` and see the real-time effects in `Game` view.
+* For more details, see [[XCharts Tutorial: 5-minute tutorial]](Documentation~/zh/tutorial01.md)
+* For the first time, it is recommended to read the tutorial carefully.
+
+## Branch
-See more tutorial: [XCharts tutorial: 5 minutes overhand tutorial](Documentation~/en/tutorial01.md)
+* `master` : indicates the development branch. The latest changes and new features are first committed to the `master` branch, and after some time from the `master` branch `merge` to the `3.0` branch, and the `release` version.
+* `3.0` : Stable branch of XCharts 3.0. It is generally updated once a month, with the latest changes from the `master` branch `merge`, and the `release` version is released.
+* `2.0` : A stable branch of XCharts 2.0. With Demo, currently no longer maintenance, only to modify serious bugs.
+* `2.0-upm` : Stable UMP branch of XCharts 2.0. Only the Package part is included without Demo. It is dedicated to the UMP and is not maintained.
+* `1.0` : Stable branch of XCharts 1.0. With Demo, no maintenance.
+* `1.0-upm` : stable UMP branch of XCharts 1.0. No Demo, no maintenance.
## FAQ
-1. Is `XCharts` free to use?
+* Is `XCharts` free to use?
A: `XCharts` uses the `MIT` licence and is free to use. You can also subscribe to `VIP` to enjoy more value-added services.
-2. Does `XCharts` support code to dynamically add and modify data? Does it support getting data from `Excel` or a database?
+* Does `XCharts` support code to dynamically add and modify data? Does it support getting data from `Excel` or a database?
A: Support code to dynamically add and modify data, but data needs to be parsed or retrieved by itself, and then added to `XCharts` by calling the public interface of `XCharts`.
-3. Does this plugin work on other platforms (e.g. Winform or WPF) besides Unity?
+* Does this plugin work on other platforms (e.g. Winform or WPF) besides Unity?
A: It is currently only supported on Unity. Theoretically any version of Unity that supports `UGUI` can run `XCharts`.
+* What about the jags? What magnitude of data is supported?
+A: XCharts is based on UGUI implementation, so the problems encountered in UGUI will also exist in XCharts. For example, the sawtooth problem, such as the number of vertices in `Mesh` exceeds `65535`. Solutions to these two problems can be found in [Q&A 16](Documentation~/zh/faq.md) and [Q&A 27](Documentation~/zh/faq.md).
+Due to the `Mesh` of the `65535` vertex limit, the current `XCharts` single `Line` supports about `20,000` of data, of course, open sampling can support more data to draw, but at the same time it will consume more CPU.
+
## Changelog
-[Changelog](Documentation~/en/changelog.md)
+* [Changelog](Documentation~/en/changelog.md)
## Licenses
-[MIT License](https://github.com/XCharts-Team/XCharts/blob/master/LICENSE.md)
+* [MIT License](https://github.com/XCharts-Team/XCharts/blob/master/LICENSE.md)
+* Free commercial, secondary development
+* The extended charts and advanced features sections require a separate purchase license
## Other
diff --git a/Runtime/Internal/XChartsMgr.cs b/Runtime/Internal/XChartsMgr.cs
index c19090a0..afddde51 100644
--- a/Runtime/Internal/XChartsMgr.cs
+++ b/Runtime/Internal/XChartsMgr.cs
@@ -22,7 +22,7 @@ class XChartsVersion
public static class XChartsMgr
{
public static readonly string version = "3.8.0";
- public static readonly int versionDate = 20230801;
+ public static readonly int versionDate = 20230903;
public static string fullVersion { get { return version + "-" + versionDate; } }
internal static List chartList = new List();
diff --git a/package.json b/package.json
index ab34ba8c..bc13bf59 100644
--- a/package.json
+++ b/package.json
@@ -2,8 +2,8 @@
"name": "com.monitor1394.xcharts",
"displayName": "XCharts",
"version": "3.8.0",
- "date": "20230801",
- "checkdate": "20230801",
+ "date": "20230903",
+ "checkdate": "20230903",
"desc": "如果 XCharts 对您有帮助,希望您能在 Github 上点 Star 支持,非常感谢!",
"unity": "2018.3",
"description": "A charting and data visualization library for Unity.",