/XCharts

A charting and data visualization library for Unity. Unity数据可视化图表插件。

Primary LanguageC#MIT LicenseMIT

XCharts

A powerful, easy-to-use, configurable charting and data visualization library for Unity.
Unity数据可视化图表插件。
English README

一款基于UGUI的功能强大、简单易用的数据可视化图表插件。支持折线图柱状图饼图雷达图散点图热力图环形图K线图极坐标平行坐标等十多种内置图表,以及3D饼图3D柱图3D金字塔漏斗图仪表盘水位图象形柱图甘特图矩形树图等扩展图表。

XCharts3.0 官方主页

XCharts3.0 教程
XCharts3.0 API
XCharts3.0 问答
XCharts3.0 配置项手册
XCharts3.0 更新日志
XCharts3.0 订阅服务

特性

  • 参数可视化配置,效果实时预览,纯代码绘制,无需额外资源。
  • 支持折线图、柱状图、饼图、雷达图、散点图、热力图、环形图、K线图、极坐标、平行坐标等十种内置图表。
  • 支持3D柱图、漏斗图、金字塔、仪表盘、水位图、象形柱图、甘特图、矩形树图等多种扩展图表。
  • 支持直线图、曲线图、面积图、阶梯线图等折线图。
  • 支持并列柱图、堆叠柱图、堆积百分比柱图、斑马柱图等柱状图。
  • 支持环形图、玫瑰图等饼图。
  • 支持内置图表的任意组合,同一图中可同时显示多个相同或不同类型的图表。
  • 支持实线、曲线、阶梯线、虚线、点线、点划线、双点划线等线条。
  • 支持主题定制、导入和导出,内置明暗两种默认主题。
  • 支持自定义图表内容绘制,提供绘制点、线、面等其他图形的强大的绘图API。
  • 支持PC端和手机端上的数据筛选、视图缩放、细节展示等交互操作。
  • 支持万级大数据量绘制,支持采样绘制。
  • 支持TexMeshPro
  • 支持所有5.6以上的Unity版本。
  • 支持 Input System (如何从 Input Manager 转 Input System)。

截图

内置图表

扩展图表

XCharts不再内置Demo,Demo已独立出单独的仓库 XCharts-Demo,也可以在浏览器查看WebGL下的运行效果 在线Demo

XCharts3.0

  • 增加Time时间轴。
  • 增加SingleAxis单轴。
  • 增加多种坐标系:GridPolarRadarSingleAxis
  • 增加多种动画方式。
  • 增加多种图表交互。
  • 增加国际化支持。
  • 增加Widgets小组件。
  • 增加多种扩展图表。

XCharts3.0 相比 XCharts2.0

  • 更健壮的底层框架。
  • 更强大的性能。
  • 更小的序列化文件。
  • 更好的交互体验。
  • 更多的组件支持。
  • 更强大的文本自述能力。
  • 更合理的组件调整。
  • 更灵活的组件插拔。
  • 更高效的二次开发。
  • 更丰富的Demo示例。

XCharts 3.0和2.0的对比

注意

  • XCharts3.0 不完全兼容 XCharts2.0 版本,升级3.0可能需要调整部分代码和配置。建议旧项目可以继续使用XCharts2.0,新项目推荐使用XCharts3.0
  • XCharts2.0 进入维护阶段,后续只修复严重bug,理论上不再加新功能。
  • XCharts 理论上支持Unity 5.6及以上版本,但由于版本测试有限难免疏漏,发现版本兼容问题可提Issue
  • 本仓库只包含XCharts源码,不包含Demo示例部分。需要查看Demo请到XCharts-Demo仓库。

使用

  1. 导入XChartsunitypackage或者源码到项目。
  2. Hierarchy视图下右键选择XCharts->LineChart,即可创建一个默认的折线图。
  3. Inspector视图可以调整各个组件的参数,Game视图可看到实时效果。

分支

  • master:开发分支。最新的修改和新功能都先提交到master分支,一段时间后再从master分支merge3.0分支,并发布release版本。
  • 3.0:XCharts 3.0的稳定分支。一般一个月一更新,从master分支merge最新改动过来,并发布release版本。
  • 2.0:XCharts 2.0的稳定分支。带Demo,目前基本不再维护,仅修改严重bug。
  • 2.0-upm:XCharts 2.0的稳定UMP分支。不带Demo,只包含Package部分,专门给UMP用,不再维护。
  • 1.0:XCharts 1.0的稳定分支。带Demo,不再维护。
  • 1.0-upm:XCharts 1.0的稳定UMP分支。不带Demo,不再维护。

FAQ

  1. XCharts可以免费使用吗?
    答:XCharts使用MIT协议,可以免费使用。也可以订阅VIP享受更多增值服务。

  2. XCharts支持代码动态添加和修改数据吗?支持从Excel或数据库中获取数据吗?
    答:XCharts提供了各种数据操作的接口,支持代码动态修改配置,添加和修改数据,但数据来源需要自己解析或获取,再调用XCharts的接口添加到XCharts

  3. 这个插件除了用在Unity,还能用在其他平台(如WinformWPF)吗?
    答:目前只支持在Unity平台使用。理论上任何支持UGUIUnity版本都能运行XCharts

  4. 锯齿怎么解决?支持多大量级的数据?
    答:XCharts是基于UGUI实现的,所以UGUI中碰到的问题,在XCharts中也会存在。比如锯齿问题,比如Mesh顶点数超65535的问题。这两个问题的解决可参考问答16问答27
    由于Mesh65535顶点数的限制,目前XCharts的单条Line支持约2万的数据量,当然开启采样可以支持更多数据的绘制,但同时也会更消耗CPU。

Licenses

  • MIT License
  • 可免费商用,可二次开发
  • 扩展图表需单独购买授权

日志

其他

  • 邮箱:monitor1394@gmail.com
  • QQ群:XCharts交流群(202030963
  • VIP群:XCharts技术支持VIP群(867291970
  • 捐助、合作和技术支持:☞ 看这里