Files
XCharts/README.md

163 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# XCharts
An ECharts style UGUI Charting Library for Unity
[`ECharts`](https://www.echartsjs.com/examples/#chart-type-bar)风格的UGUI图表库
QQ交流群XCharts交流群202030963
## 特性
1. 内置丰富示例,参数可视化配置,效果实时预览,纯源码绘制
2. 支持折线图(`LineChart`)、柱状图(`BarChart`)、饼图(`PieChart`)、雷达图(`RadarChart`)等常用图表
3. 支持`Default``Light``Dark`三种默认主题切换,自定义主题
4. 支持多数据密集图表
5. 折线图通过参数可配置出:折线图、曲线图、面积图等
6. 饼图通过参数可配置出:饼图、环形图、南丁格尔玫瑰图等
## 效果图
1. `Default`主题![Default](Doc/default.png)
2. `Light`主题![Light](Doc/light.png)
3. `Dark`主题![Dark](Doc/dark.png)
## 更新日志
* 2019.07.14)增加`二维数据`支持XY轴都可以设置为数值轴
* 2019.07.13)增加`双坐标轴`支持,代码改动较大
* 2019.07.10)发布`v0.5.0`版本
* 2019.07.09)增加`AxisLine`配置坐标轴轴线和箭头
* 2019.07.03)增加`AxisLabel`配置坐标轴`刻度标签`
* 2019.07.02)增加`selected`等相关参数配置`PieChart`的选中效果
* 2019.06.30)增加`SplitArea`配置坐标轴`分割区域`
* 2019.06.29)增加`AxisName`配置坐标轴`名称`
* 2019.06.20)增加`AreaAlpha`控制`RadarChart``Area`透明度
* 2019.06.13)增加`DataZoom`实现`区域缩放`
* 2019.06.01)增加`stepType`实现`LineChart``阶梯线图`
* 2019.05.29)增加`InSameBar`实现`BarChart``非堆叠同柱`
* 2019.05.29)增加`crossLabel`控制`Tooltip``十字准星指示器`
* 2019.05.24)增加`堆叠区域图`
* 2019.05.16)增加`AxisMinMaxType`控制坐标轴最大最小刻度
* 2019.05.15)完善数据接口
* 2019.05.14增加X轴`AxisType.Value`模式支持
* 2019.05.13)增加负数数值轴支持
* 2019.05.11)增加自定义`Editor`编辑
* 2019.03.21)增加`Tooltip`
* 2018.11.01)增加`Default``Light``Dark`三种默认主题
* 2018.09.05)发布`v0.1.0`版本
## 内置示例
### 折线图
1. 基础折线图
2. 负数数值轴+自定义最大最小刻度
3. XY轴互换
4. XY轴互换+区域堆叠
5. 贝塞尔曲线平滑
6. 折线图堆叠+图例
7. 堆叠区域图
8. 面积图
9. 阶梯线图
10. 阶梯线图+区域填充
11. 动态数据
12. 大数据量面积图
13. 大数据+区域缩放
14. 双坐标轴
15. 笛卡尔坐标系XY都为数值轴
### 柱状图
1. 基础柱状图
2. 负数数值轴+自定义最大最小刻度
3. XY轴互换
4. 坐标轴刻度与标签对齐
5. 世界人口总量
6. 堆叠条形图
7. 深圳月最低生活费组成(单位:元)
8. 非堆叠同柱
9. 5000数据
### 饼图
1. Customized Pie
2. 环形图
3. 环形图+默认选中
4. 南丁格尔玫瑰图
5. 某站点用户访问来源
6. 用代码添加和更新数据
### 雷达图
1. 多边形雷达图+指定最大值
2. 圆形+自定义背景
3. 填充颜色
### 其他
## 入门教程
* [XCharts开源库介绍](https://blog.uwa4d.com/archives/UWALab_XCharts.html)
## 配置项手册
### `Theme` 主题
* `theme`:主题,`Default``Light``Dark`三种可选主题
* `themeInfo`:各主题对应的默认配置,也可自己调整
### `Title` 标题
* `show`:是否显示标题,标题默认现象在顶部
* `text`:标题内容
* `align`:对齐方式,`Left``Right``Center`三种可选对齐方式
* `left`:左偏移量
* `right`:右偏移量
* `top`:顶部偏移量
* `bottom`:低部偏移量
### `Legend` 图例
* `show`:是否显示图例
* `location`:图例显示在的位置,可选`Left``Right``Top``Bottom`四个位置
* `itemWidth`:图例标记的图形宽度
* `itemHeight`:图例标记的图形高度
* `itemGap`:图例每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。
* `left`:左偏移量
* `right`:右偏移量
* `top`:顶部偏移量
* `bottom`:低部偏移量
* `dataList`:图例的字符串数据数组
### `Coordinate` 坐标系
* `show`:是否显示坐标系
* `left`:左偏移量
* `right`:右偏移量
* `top`:顶部偏移量
* `bottom`:低部偏移量
* `tickness`:坐标轴线的粗细
* `splitWidth`:坐标刻度的长度
### `XAxis` X坐标轴
* `type`:坐标轴类型。可选:
+ `value` 数值轴,适用于连续数据。
+ `category` 类目轴,适用于离散的类目数据,为该类型时必须通过 data 设置类目数据。
* `splitNumber`:分割段数
* `maxSplitNumber`最大分割段数当data的数据大于该值时会删除第一个data数据再添加
* `showSplitLine`:是否显示分割线
* `splitLineType`:分割线线的类型,可选:
+ `solid`:实线
+ `dashed`:虚线
+ `dotted`:点
* `boundaryGap`:坐标轴两边是否留白。默认为 true这时候刻度只是作为分隔线标签和数据点都会在两个刻度之间的带(`band`)中间。
* `data`:类目数据,在类目轴(`type`: `'category'`)中有效。
### `YAxis` Y坐标轴配置同`XAxis`
### `SeriesList` 系列列表数据,和图例对应
* `legendKey`:对应的图例`key`
* `showDataNumber`:显示数据个数,默认为`0`全部显示
* `dataList``float`型数据数组