Unity3d C# 代码动态改变/更新图表插件(Graph And Chart )的折线图、柱状图和饼图等图表数据和动画等(含源码)
折线图折线图数据只能通过代码的方式进行更改,折线图的外观可以在Unity3d编辑器中进行设置。 要更新表数据则需要在脚本中进行:graph.DataSource.StartBatch(); // 启动一个新的更新批处理graph.DataSource.ClearCategory("Player 1"); //清除我们在 inspector中创建的categoriesgraph.DataSource
折线图
折线图数据只能通过代码的方式进行更改,折线图的外观可以在Unity3d编辑器中进行设置。 要更新表数据则需要在脚本中进行:
graph.DataSource.StartBatch(); // 启动一个新的更新批处理
graph.DataSource.ClearCategory("Player 1"); //清除我们在 inspector中创建的categories
graph.DataSource.ClearCategory("Player 2");
for (int i = 0; i < 30; i++)
{
//添加30个随机点,每个点都有一个类别和一个x,y值
graph.DataSource.AddPointToCategory("Player 1",Random.value*10f,Random.value*10f);
graph.DataSource.AddPointToCategory("Player 2", Random.value * 10f,Random.value * 10f);
}
graph.DataSource.EndBatch(); //结束更新批处理。这个调用将渲染图表
上面的代码和注释已经写得很清楚,重点在更数据前使用“DataSource.StartBatch()”,“DataSource.ClearCategory”进行数据清除,“DataSource.AddPointToCategory”函数进行数据添加,数据更改后需要调用“DataSource.EndBatch()”进行刷新图表界面。
饼图(圆环图)
数值更改:
pie.DataSource.SlideValue("Player 1", 50, 10f);
pie.DataSource.SetValue("Player 2", Random.value * 10);
设置值使用SetValue(),
数值变化带动画 SlideValue(),
也需要StartBatch和EndBatch函数。
注意:调用SetValue和SlideValue必须使用你自己设置(已存在)的组和
类别名称。 注意空格和字母大小写。
柱状图
barChart.DataSource.SetValue("Player 1", "Value 1", Random.value * 20);
barChart.DataSource.SlideValue("Player 2","Value 1", Random.value * 20, 40f);
设置值使用SetValue(),
数值变化带动画 SlideValue(),
注意:调用SetValue和SlideValue必须使用你自己设置(已存在)的组和
类别名称。 注意空格和字母大小写。
图表动画
每种图表的动画脚本组件不一样,如:GraphAnimation(折线图动画)、PieAnimation(饼图动画)和BarAnimation(柱状图动画)等,如果需要再次播放动画,如:再次点开界面是播放动画,则调用动画组件的Animate()函数可实现:
GraphAnima.Animate();
PieAnima.Animate();
BarAnima.Animate();
其它
清除所有图表数据
DataSource.Clear();
将所有值设置为已参数化的值(默认为0)
DataSource.ClearValues();
清除条形图(柱状图)中的所有组(Group)
DataSource.ClearGroups();
条形图(柱状图)添加组(Group)。
DataSource.AddGroup();
条形图(柱状图)删除组(Group)。
DataSource.RemoveGroup();
清除条形图(柱状图)中的所有类别
DataSource.ClearCategories();
向条形图(柱状图)添加新类别。 每个类别都有自己的材质和名称。
DataSource.AddCategory();
从条形图中移除类别
DataSource.RemoveCategory();
更多推荐
所有评论(0)