Unity3d C#使用XCharts数据显示格式说明(如:数据类型、数据显示为百分比%等)

前言

XCharts是开源且比较强大的插件,在Unity3d中搭建UI时常常使用的数据图表的制作插件,
特别是当下的数字沙盘、数字孪生等项目中应用较广。笔者公司也一直在使用该插件,本文主要是在开发过程中的一个小需求引发的整理分享。在项目中需要将数据进行百分比展示,这就需要设置数据的格式,本以为这个小问题随便查询一下就能解决,结果还是没有查到,这里笔者查了一些说明文档,并将常用的格式进行了整理。

这里我以饼图(Pie)为例,以假的国家GDP为数据,进行测试:
在这里插入图片描述

文本标签格式

文本标签格式是默认显示在图标上的名称文字/数值等信息,默认格式的文字为空且只显示系列名:
在这里插入图片描述

这里的“Formatter”框为标签内容字符串模版格式器,支持用 \n 换行。我们根据如下模板变量说明可以在范围内进行自定义显示格式:

{a}:系列名;{b}:数据名;{c}:数据值;{d}:百分比。示例:{b}:{c}

按上面的说明,系统默认值给了数据名,即:{b}。

如果我们需要单个文本标签显示的文字为:

GDP
国家:数值(百分比)

我们就这样来设置:

{a}\n{b}:{c}({d}%)

效果如图:
在这里插入图片描述

扫描二维码关注公众号,回复: 15603331 查看本文章

信息展示过于密集了,并不会,如果有自定义的需求,按需要进行设置即可。

以上操作也可以通过代码来进行修改:

  pieChart.series.GetSerie("GDP").label.formatter = "{a}\n{b}:{c}({d}%)";

当然数据的显示还可以配合numericFormatter进行调整格式,标准数字格式字符串。用于将数值格式化显示为字符串。

使用Axx的形式:A是格式说明符的单字符,支持C货币、D十进制、E指数、F顶点数、G常规、N数字、P百分比、R往返过程、X十六进制等九种。xx是精度说明,从0-99

这个格式也会影响上面“Formatter的{c}:数据值;{d}:百分比”的展示。

这里我们将NumericFormatter设置为P:
在这里插入图片描述

这里也可以进行代码设置:

pieChart.series.GetSerie("GDP").label.numericFormatter = "P";

再将NumericFormatter设置为E:

在这里插入图片描述

以上的图片可见数据展示发生了变化,而且都是错误的了。谨慎结合使用。

提示框文本格式

提示框的文本格式是通过“Tooltip 0”来进行设置的,当鼠标悬停或者点击饼图中的单个项目时,会显示该提示。这里的默认内容为:
在这里插入图片描述

这里通过Formatter 提示框单项的字符串模版格式器来设置。支持用 \n 换行。当formatter不为空时,优先使用formatter,否则使用itemFormatter。具体说明如下:

  • 模板变量有{.}{a}{b}{c}{d}。 *
    {.}为当前所指示或index0serie的对应颜色的圆点。 *
    {a}为当前所指示或index0serie的系列名name。 *
    {b}为当前所指示或index0serie的数据项serieDataname,或者类目值(如折线图的X轴)。
  • {c}为当前所指示或index0seriey维(dimesion1)的数值。 * {d}为当前所指示或index0seriey维(dimesion1)百分比值,注意不带%号。 *
    {.1}表示指定index1serie对应颜色的圆点。 *
    {a1}{b1}{c1}中的1表示指定index1serie。 *
    {c1:2}表示索引为1serie的当前指示数据项的第3个数据(一个数据项有多个数据,index为2表示第3个数据)。

如果我们需要显示如下格式:

颜色圆点 数据项名称: 数据百分比 [系列名]

则应该这样设置Formatter :

{.} {b}:{d}% [{a}]

在这里插入图片描述

设置的脚本:

pieChart.tooltip.formatter = "{.} {b}:{d}% [{a}]";

效果如下:
在这里插入图片描述

其它的关联设置可以参考使用:

  • titleFormatter:提示框标题内容的字符串模版格式器。支持用 \n 换行。仅当itemFormatter生效时才有效。可以单独设置占位符{i}表示忽略不显示标题内容。
  • itemFormatter:提示框单个serie或数据项内容的字符串模版格式器。支持用 \n 换行。当formatter不为空时,优先使用formatter,否则使用itemFormatter
  • numericFormatter:标准数字格式字符串。用于将数值格式化显示为字符串。使用Axx的形式:A是格式说明符的单字符,支持C货币、D十进制、E指数、F顶点数、G常规、N数字、P百分比、R往返过程、X十六进制等九种。xx是精度说明,从0-99

猜你喜欢

转载自blog.csdn.net/qq_33789001/article/details/131499307