This commit is contained in:
monitor1394
2021-04-07 20:30:40 +08:00
parent a2307d9c21
commit 1e43fc7283
8 changed files with 95 additions and 34 deletions

View File

@@ -43,10 +43,13 @@
* 首先要理解:`XCharts`是配置参数驱动。想要什么效果,你只需要去调整对应组件下的配置参数就可以,不需要去改`Hierarchy`试图下的节点,因为那些节点是由`XCharts`内部根据配置参数生成的。你改了也会变还原。
* 快速定位你想要改的效果对应的组件。这就需要对组件有一定的了解。比如我们想要让X轴的轴线末端显示箭头第一步X轴定位到XAxis0第二步轴线定位到AxisLine然后我们再去看AxisLine有没有这样的参数可以实现这个效果。
* 快速定位你想要改的效果对应的组件。这就需要对组件有一定的了解。比如我们想要让X轴的轴线末端显示箭头第一步X轴定位到`XAxis0`,第二步轴线定位到`AxisLine`,然后我们再去看`AxisLine`有没有这样的参数可以实现这个效果。
* `XCharts`提供从全局`Theme`、系列`Serie`、单个数据项`SerieData`全方位的参数配置。优先级从大到小为:`SerieData`->`Serie`->`Theme`。以`ItemStyle`的颜色例,如果`SerieData`的`ItemStyle`配置有颜色值,则优先用这个颜色值。判断是否配置有颜色值就是`Color.clear`颜色的RGBA都是0
* `Serie`的`Data`点`More`按钮后可以单独设置数据项的更多设置,如柱形图的每个柱条单独设置颜色等。
![op_datamore](screenshot/op_datamore.png)
## 用代码添加折线图
给`gameObject`挂上`LineChart`脚本,需要调用`SetSize()`接口设置图表尺寸,或者直接操作`chart.rectTransfrom`
@@ -129,6 +132,45 @@ XCharts支持TextMeshPro但默认是不开启的需要自己手动切换
![textmeshpro-font](screenshot/op_textmeshpro3.png)
建议在项目初就规划好是否使用TextMeshPro在有很多图表的情况下再切换可能导致某些图表无法正常初始化这时可能需要每个图表单独的使用`Remove All Chart Object`来清理让图表重新初始化。
## 用代码改图表参数
`Inspector`上看到的所有参数都可以用代码来修改关键是要定位好你要改的参数是在组件上、还是serie上、还是在具体的数据项上改。
1. 改组件上的参数:
```C#
chart.title.text = "LineChart - 折线图";
chart.title.subText = "普通折线图";
chart.yAxis0.minMaxType = Axis.AxisMinMaxType.Custom;
chart.yAxis0.min = 0;
chart.yAxis0.max = 100;
```
2. 改Serie的参数
```C#
var serie = chart.AddSerie(SerieType.Gauge, "速度");
serie.min = 0;
serie.max = 220;
serie.startAngle = -125;
serie.endAngle = 125;
serie.center[0] = 0.5f;
serie.center[1] = 0.5f;
serie.radius[0] = 80;
serie.splitNumber = 5;
serie.animation.dataChangeEnable = true;
serie.roundCap = true;
```
3. 改数据项上的参数:
```C#
var serieData = chart.AddData(0, Random.Range(10, 20));
serieData.enableItemStyle = true;
serieData.itemStyle.color = Color.blue;
}
```
[返回首页](https://github.com/monitor1394/unity-ugui-XCharts)
[XCharts问答](https://github.com/monitor1394/unity-ugui-XCharts/blob/master/Assets/XCharts/Documentation/XCharts问答.md)
[XChartsAPI接口](https://github.com/monitor1394/unity-ugui-XCharts/blob/master/Assets/XCharts/Documentation/XChartsAPI.md)