Unity数据可视化图表插件XCharts

概述

XCharts 是 Unity 平台上一款功能强大、易上手的数据可视化图表插件,基于 UGUI 实现,支持 线图(含曲线、面积、阶梯线等)、柱状图、饼图(环形、玫瑰图)、雷达图、散点图、热力图、K 线图、极坐标 & 平行坐标 等常见图表类型,同时提供扩展图表如 3D 柱状图、3D 饼图、漏斗图、甘特图、水位图、仪表盘、象形柱图、矩形树图、桑基图等

主要特点包括:

  • 纯代码绘制,无需额外贴图或 Shader,轻量高效;

  • 可视化配置 + 实时预览,支持运行时动态调节;

  • 高度定制:主题、组件、数据项皆可细粒度配置,并支持自定义绘制与回调;

  • 支持大数据:可渲染万级数据点并支持采样;

  • 丰富组件:图例、标题、提示框、缩放、标线等;

  • 支持多平台及扩展插件(如 TextMeshPro 与新的输入系统)。

适用环境

  • 仅适用于 Unity 平台(仅支持 Unity 5.6 及以上版本)。

  • 理想用户应具备 Unity 和 UGUI 基础,了解 MonoBehaviour 脚本使用方式和 UI 编辑器使用方法。

安装方法

可通过以下三种方式导入 XCharts:

  1. 导入 UnityPackage :Unity 中选择 Assets → Import Package → Custom Package...,导入下载的 XCharts-3.13.0.unitypackage 并编译。

  2. 使用 Package Manager :通过 Add package from Git URL... 输入 GitHub 地址 https://github.com/XCharts-Team/XCharts.git,即可在 Unity 包管理器中导入。

推荐同时导入 XCharts-Daemon 守护插件,可在启用 TextMeshPro 或新版输入系统时自动刷新相关 asmdef,避免编译错误。

快速新手上手示例

可视化方式(Editor 内)

  1. 导入插件后,在 Unity 菜单栏或层级视图中,右键选择 UI → XCharts → LineChart,即可生成一个默认折线图。
  2. 使用 Inspector 面板中的组件按钮进行配置:
    1. 通过 Add Serie 添加数据系列;
    2. 通过 Add Component 添加图例、提示框等;
    3. 在 Serie 下可添加 AreaStyle、Label 等子组件,配置样式;
    4. 调整后,在 Game 视图中可实时预览效果。

代码方式创建示例

cs 复制代码
using XCharts;

public class SimpleChart : MonoBehaviour
{
    void Start()
    {
        var chart = gameObject.GetComponent<LineChart>();
        if (chart == null)
        {
            chart = gameObject.AddComponent<LineChart>();
            chart.Init();
        }
        chart.SetSize(580, 300);
        var title = chart.EnsureChartComponent<Title>();
        title.text = "Simple Line";
        var tooltip = chart.EnsureChartComponent<Tooltip>();
        tooltip.show = true;
        var legend = chart.EnsureChartComponent<Legend>();
        legend.show = false;

        var xAxis = chart.EnsureChartComponent<XAxis>();
        xAxis.splitNumber = 10;
        xAxis.boundaryGap = true;
        xAxis.type = Axis.AxisType.Category;

        var yAxis = chart.EnsureChartComponent<YAxis>();
        yAxis.type = Axis.AxisType.Value;

        chart.RemoveData();
        chart.AddSerie<Line>("line");

        for (int i = 0; i < 10; i++)
        {
            chart.AddXAxisData("x" + i);
            chart.AddData(0, Random.Range(10, 20));
        }
    }
}

该示例可以在 GameObject 上动态创建一个简单的折线图,并且通过接口操作添加数据和组件。

总结建议

步骤 说明
插件导入 选择源码、.unitypackage 或者 Package Manager 导入,推荐同时安装 XCharts-Daemon
可视化配置 推荐新手通过 Inspector 快速调整参数、添加组件
代码控制 使用 chart.AddSeriechart.AddDataEnsureChartComponent 等接口可实现动态数据和样式
Demo 学习 浏览 XCharts-Demo 仓库或者在线教程、文档等资源
相关推荐
招风的黑耳1 小时前
Axure设计下的智慧社区数据可视化大屏:科技赋能社区管理
信息可视化·智慧社区·科技感大屏
★YUI★3 小时前
学习游制作记录(背包UI以及各种物品的存储)8.12
学习·游戏·ui·unity·c#
java1234_小锋4 小时前
周学会Matplotlib3 Python 数据可视化-绘制折线图(Lines)
开发语言·python·信息可视化·matplotlib·折线图·matplotlib3
java1234_小锋4 小时前
一周学会Matplotlib3 Python 数据可视化-绘制直方图(Histogram)
开发语言·python·信息可视化·matplotlib·matplotlib3
4 小时前
Unity 遮挡显示效果 Shader
unity·游戏引擎
计算机毕设-小月哥7 小时前
【限时分享:Hadoop+Spark+Vue技术栈电信客服数据分析系统完整实现方案
大数据·vue.js·hadoop·python·信息可视化·spark·计算机毕业设计
云天徽上8 小时前
【数据可视化-87】2023-2024年中国各省人口变化深度分析与可视化:Python + pyecharts打造炫酷暗黑主题大屏
开发语言·python·信息可视化·数据可视化·pyecharts
SmalBox9 小时前
【渲染流水线】[几何阶段]-[曲面细分]以UnityURP为例
unity·渲染
阿登林9 小时前
数据可视化交互深入理解
信息可视化·交互