GraphMaker1.5.7笔记(unity图表插件)

本文详细介绍了Unity图表插件GraphMaker的使用,包括如何生成图表、添加交互事件、动态改变图表属性,以及圆饼图和轴图的配置选项。特别提到了在处理大量数据时的性能问题和最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

链接:https://download.youkuaiyun.com/download/piger91/10582432?spm=1001.2014.3001.5501
1.GraphMaker只针对unity的UGUI开发,NGUI要用GraphMaker_NGUI, 可接入第三方插件。

2.生成图表对象要通过GraphMaker内部封装的函数生成,并且要在Start()函数里生成,生成、赋值、设父节点后要立刻调用 Init() 函数初始化,如: myGraph.Init();   。

3.给图表上的点或者条、面片之类的添加自己的触发函数,要调用委托函数:
WMG_Click(WMG_Series aSeries,WMG_Node aNode),例如:

public class GraphPointInteraction : MonoBehaviour {
     public WMG_Axis_Graph myGraph;
     void MyCustomFunction(WMG_Series series, WMG_Node node) {
           Debug.Log("Node: " + node.name + " on series: " + series.name + " was clicked!");
     }
     void Start() {
         myGraph.WMG_Click += MyCustomFunction;
     }
}

4.在自定义的代码上动态改变图表的属性变量或者属性列表时,要在改变之后立刻调用 Refresh()函数将这些改变应用到对应的图表中。

5.图表在运行中执行对应的变动时出现抖动或者有组件图片跟不上这种情况时(不是FPS卡的问题),把下面的代码加到WMG_Axis_Graph.cs类中。
   void OnRectTransformDimensionsChange () {
         if (!hasInit) return;
         updateFromResize();
         Refresh();
     }

6.GraphMaker不适合有太多数据的图表的展示,一两百个点还可以处理,多了就会导致FPS卡顿。

7.尽量使用代码而不是编辑器来管理和改动图表预制体或者图表的图片元素,否则会出现各种变量报空的bug。

8.圆饼图1)WMG_Pie_Graph.interactivityEnabled 是否开启交互,true则开启,通过WMG_Pie_Graph.WMG_Pie_Slice_Click (点击饼块) 、  WMG_Pie_Graph.WMG_Pie_Slice_MouseEnter  (鼠标悬停在饼块)、 WMG_Pie_Graph.WMG_Pie_Legend_Entry_Click  (鼠标点击标签样例) 三个委托来添加对应的触发事件,如:
 void  SliceClickEvent( WMG_Pie_Graph  pieGraph , WMG_Pie_Graph_Slice  aSlice )  、
   void  SliceMousEnterEvent( WMG_Pie_Graph  pieGraph , WMG_Pie_Graph_Slice  aSlice , bool  hover )  、 void SliceLegendEntryClickEvent(WMG_Pie_Graph pieGraph, WMG_Legend_Entry legendEntry)

2)WMG_Pie_Graph.useDoughnut 是否开启饼圈形,true则可以抠去中心,圆饼图成环形。

3)WMG_Pie_Graph.doughnutPercentage   开启饼圈形时抠去中心的圆的半径百分比,0.0f等于没抠,1.0f就完全抠完了。

4) Vector  WMG_Pie_Graph.getPositionFromExplode(WMG_Pie_Graph_Slice  aSlice, float aDistance)  获取交互时,饼块往外迸发的目标位置的函数,aSlice是要控制的饼块,aDistance是往外迸发的距离。

5) void  WMG_Anim.animPosition(GameObject  objOfSlice, float speed, DG.Tweening.Ease   easeMode, Vector3  positionFromExplode)  交互时饼块的DoTween动作,objOfSlice是饼块的gameobject,speed是动作的速度,easeMode 是动作的缓冲模式,positionFromExplode是动作的目标位置。

6)WMG_Pie_Graph.sliceValues.SetList( WMG_List<float>  myValue)  设置每个饼块具体值的列表的内置函数,sliceValues不能直接改,否则相关的变量的count没跟着改,会报超下标的bug,WMG_List<T>  是框架重新封装一遍的 List<T> 。
    WMG_Pie_Graph.sliceLabels.SetList( WMG_List<string> myLabels)  设置每个饼块的标签名的内置函数。
    WMG_Pie_Graph.sliceColors.SetList( WMG_List<Color> myColor) 设置每个饼块的颜色的内置函数。
    WMG_Pie_Graph.bgCircleOffset  背景圆底突出圆饼图的距离,距离越大,圆饼图底下的背景圆底突出越多,直接赋float值。
     WMG_Pie_Graph.sortBy &n

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值