8.8 KiB
XCharts问答
XCharts主页
XChartsAPI
XCharts配置项手册
QA 1:如何调整坐标轴与背景的边距?
QA 2:如何让初始动画重新播放?
QA 3:如何自定义折线图、饼图等数据项的颜色?
QA 4:如何格式化文字,如我想给坐标轴标签加上单位?
QA 5:如何让柱形图的柱子堆叠显示?
QA 6:如何让柱形图的柱子同柱但不重叠?
QA 7:如何调整柱形图的柱子宽度和间距?
QA 8:如何调整柱形图单个柱子的颜色?
QA 9:如何调整图表的对齐方式?
QA 10:可以显示超过1000以上的大数据吗?
QA 11:折线图可以画虚线、点线、点划线吗?
QA 12:如何限定Y轴(Value轴)的值范围?
QA 13:如何自定义数值轴刻度大小?
QA 14:如何在数据项顶上显示文本?
QA 15:如何给数据项自定义图标?
QA 16:锯齿太严重,如何让图表更顺滑?
QA 17:为什么鼠标移上图表 Tooltip 不显示?
QA 18:如何取消 Tooltip 的竖线?
QA 19:如何自定义 Tooltip 的显示内容?
QA 20:如何让Y轴(数值轴)显示多位小数?
QA 21:如何用代码动态更新数据?
QA 22:如何显示图例?为什么有时候图例无法显示?
QA 23:如何做成预设?
QA 24:如何在图表上画点画线等自定义内容?
QA 25:如何实现心电图类似的数据移动效果?
QA 26:如何使用背景组件?有什么条件限制?
QA 27:Mesh can not have more than 65000 vertices?
QA 28:为什么serie里设置的参数运行后又被重置了?
如何调整坐标轴与背景的边距
答:Grid
组件,可调整上下左右边距。
如何让初始动画重新播放
答:调用AnimationReset()
接口。
如何自定义折线图_饼图等数据项的颜色
答:通过Theme
的colorPalette
调整,或者部分Serie
下的LineStyle
和ItemStyle
。
如何格式化文字_如我想给坐标轴标签加上单位
答:通过formatter
和numericFormatter
参数,在Legend
、Axis
的AxisLabel
、Tooltop
、Serie
的Label
都提供该参数的配置。
如何让柱形图的柱子堆叠显示
答:设置Serie
下的stack
,stack
相同的serie
会堆叠显示在一个柱子上。
如何让柱形图的柱子同柱但不重叠
答:设置Serie
下的barGap
为-1
,stack
为空。
如何调整柱形图的柱子宽度和间距
答:调整Serie
下的barWidth
和barGap
,多个serie
时最后一个serie
的barWidth
和barGap
有效。
如何调整柱形图单个柱子的颜色
答:可通过调整单个Data
下的ItemStyle
调整,也可以通过两个serie
同柱不堆叠来实现,通过设置数据项为0
来达到类似效果。
如何调整图表的对齐方式
答:默认为左下角对齐,暂不支持调整。可以通过包一层parent来辅助控制。(最新版本1.5.0
及以上已支持任意锚点,可和做UI一样任意调整对其方式)。
可以显示超过1000以上的大数据吗
答:可以。但UGUI
对单个Graphic
限制65000
个顶点,所以太多的数据不一定能显示完全。可通过设置采样距离sampleDist
开启采样简化过密曲线。也可以通过设置一些参数来减少图表的顶点数有助于显示更多数据。如缩小图表的尺寸,关闭或减少坐标轴的客户端绘制,关闭Serie
的symbol
和label
显示等。折线图的普通线图Normal
比平滑线图Smooth
占用顶点数更少。1.5.0
以上版本可以设置large
和largeThreshold
参数来开启性能模式。
折线图可以画虚线_点线_点划线吗
答:可以。通过Serie
下的lineType
选择线条样式。当要显示的数据过多(成千以上)数据间过密时建议使用Normal
或者Step
样式。
如何限定Y轴的值范围
答:设置Axis
下的minMaxType
为Custom
,自定义min
和max
。
如何自定义数值轴刻度大小
答:默认时通过Axis
下的splitNumer
进行自动划分。也可以设置interval
自定义刻度大小。
如何在数据项顶上显示文本
答:通过设置Serie
下的Label
。
如何给数据项自定义图标
答:通过设置Serie
的data
下的数据项可单独设置icon
相关参数。
锯齿太严重_如何让图表更顺滑
答:开启抗锯齿设置(在Unity
里设置)。调整UI渲染模式为Camera
模式,开启MSAA
,设置4
倍或更高抗锯齿。
为什么鼠标移上图表Tooltip不显示
答:确认Tooltip
是否开启;确认父节点是否关闭了鼠标事件。
如何取消Tooltip的竖线
答:设置Tooltip
的type
为None
。或者调整lineStyle
的参数。
如何自定义Tooltip的显示内容
答:自定义总的内容可以通过Tooltip
的formatter
。如果只是想调整所有的serie
的显示格式可以用itemFormatter
和titleFormatter
结合。如果想每个serie
的显示格式不一样,可以定制serie
的itemStyle
里的tooltipFormatter
。具体的用法请查阅XCharts配置项手册。
如何让Y轴显示多位小数
答:设置Axis
下的AxisLabel
中的formatter
为{value:f1}
或{value:f2}
。1.5.0
及以上版本通过numericFormatter
设置。
如何用代码动态更新数据
答:请查阅Example
下的代码,Example13_LineSimple.cs
就是一个简单添加数据构建折线图的例子,其他Demo
也都是通过代码控制不同的组件实现不同的功能,相关API请查看文档:XChartsAPI接口 。
如何显示图例_为什么有时候图例无法显示
答:首先,你的serie
里的name
需有值不为空。然后开启Legend
显示,里面的data
可以默认为空,表示显示所有的图例。如果你只想显示部分serie
的图例,在data
中填入要显示的图例的name
即可。如果data
中的值都不是系列的name
,那图例就不会显示。
如何做成预设
答:请删除chart下所有的子组件再拖成预设。
如何在图表上画点画线等自定义内容
答:XCharts
有自定义绘制回调onCustomDraw
,具体可参考Example12_CustomDrawing.cs
如何实现心电图类似的数据移动效果
答:参考Example
目录下的Example_Dynamic.cs
。主要通过设置maxCache
参数实现。axis
和serie
都设置相同的maxCache
。maxCache
可固定数据个数,当数据超过设定时会先删除第一个在添加新数据,实现数据移动效果。
如何使用背景组件_有什么条件限制
答:设置background
组件的show
为true
。
区域折线图在用半透明颜色时有时候会一条叠加的线
答:这是区域折线图绘制的bug。可以用浅的不透的颜色替代半透明颜色。
Mesh_cannot_have_more_than_65000_vertices
答:这是UGUI
对单个Graphic
的顶点数限制。XCharts
是将图形绘制在单个Graphic
上,所以也会有这个限制。解决的办法可以参考:QA 10:可以显示超过1000以上的大数据吗?
为什么serie里设置的参数运行后又被重置了
答:检测下代码里是否调用了RemoveData()
并重新添加Serie
了。如果想保留Serie
的配置可以只ClearData()
,然后重新添加数据。