链接: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