UIGraph

close hide

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

UIGraph 是一个贝塞尔曲线模块。开发者可自定义背景、线条、坐标系等UI样式和数据源,可监听用户点击结点事件。用于实现数据可视化的功能。UIGraph 模块是 graph 模块的优化版。

open

打开贝塞尔曲线模块

open({params}, callback(ret, err))

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:

yAxis:

  • 类型:JSON 对象
  • 描述:曲线图的y轴信息
  • 内部字段:
  1. max: 80, //数字类型;y轴最大值
  2. min: 0, //数字类型;y轴最小值
  3. step: 20, //数字类型;y轴刻度间隔
  4. unit: '%' //字符串类型;y轴数据单位
  5. }

data:

  • 类型:数组
  • 描述:曲线关键结点的数据
  • 内部字段:
  1. [{
  2. xAxis: '一月', //字符串类型;关键结点的x轴数据
  3. yAxis: 80 //数字类型;关键结点的y轴数据
  4. },{
  5. xAxis: '二月', //字符串类型;关键结点的x轴数据
  6. yAxis: 56 //数字类型;关键结点的y轴数据
  7. }]

styles:

  • 类型:JSON 对象
  • 描述:(可选项)模块各部分的样式
  • 内部字段:

showNode:

  • 类型:布尔
  • 描述:(可选项)是否默认显示结点
  • 默认值:true

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. id: 1, //数字类型;模块的 id,用于区分模块的多个实例
  3. eventType: 'reachLeftmost', //字符串类型;交互事件类型
  4. //取值范围:
  5. //show(打开模块成功)
  6. //reachLeftmost(拖动曲线图至左边缘)
  7. //reachRightmost(拖动曲线图至右边缘)
  8. //zoomIn(放大曲线图)
  9. //zoomOut(缩小曲线图)
  10. index: 6 //数字类型;缩放曲线图时,返回缩放中心结点的数据在 data 数组中的索引
  11. }

示例代码

  1. var UIGraph = api.require('UIGraph');
  2. UIGraph.open({
  3. rect: {
  4. x: 30,
  5. y: api.frameHeight / 2 - 170,
  6. w: api.frameWidth - 60,
  7. h: 340
  8. },
  9. yAxis: {
  10. min: 0,
  11. step: 20,
  12. unit: '%'
  13. },
  14. data: [{
  15. xAxis: '一月',
  16. yAxis: 15
  17. }, {
  18. xAxis: '二月',
  19. yAxis: 65
  20. }, {
  21. xAxis: '三月',
  22. yAxis: 55
  23. }, {
  24. xAxis: '四月',
  25. yAxis: 0
  26. }],
  27. styles: {
  28. bg: '#fff',
  29. axisColor: '#A9A9A9',
  30. nodeColor: '#000',
  31. lineColor: '#1E90FF',
  32. lineWidth: 1,
  33. markColor: '#000',
  34. markSize: 16,
  35. bubble: {
  36. bgImg: '',
  37. size: 14
  38. }
  39. },
  40. fixedOn: api.frameName,
  41. }, function(ret, err) {
  42. if (ret) {
  43. alert(JSON.stringify(ret));
  44. } else {
  45. alert(JSON.stringify(err));
  46. }
  47. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭曲线图模块

close({params})

params

id:

  • 类型:数字
  • 描述:模块的 id,用于区分模块的多个实例

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

show

显示曲线图模块

show({params})

params

id:

  • 类型:数字
  • 描述:模块的 id,用于区分模块的多个实例

示例代码

  1. var UIGraph = api.require('UIGraph');
  2. UIGraph.show({
  3. id: 1
  4. });

可用性

iOS系统,安卓系统

hide

隐藏曲线图模块

hide({params})

id:

  • 类型:数字
  • 描述:模块的 id,用于区分模块的多个实例

示例代码

  1. var UIGraph = api.require('UIGraph');
  2. UIGraph.hide({
  3. id: 1
  4. });

可用性

iOS系统,安卓系统

可提供的1.0.1及更高版本

reloadData

更新曲线图的数据

reloadData({params})

params

id:

  • 类型:数字
  • 描述:模块 id,用于区分多个模块实例

xScale:

  • 类型:数字
  • 描述:曲线x轴缩放比例

type:

  • 类型:字符串
  • 描述:更新数据的方式
  • 默认值:’updateAll’
  • 取值范围:
    • prepend(往数据源头部追加数据)
    • append(往数据源尾部追加数据)
    • updateAll(更新所有数据)

data:

  • 类型:数组
  • 描述:要更新的数据
  • 内部字段:

示例代码

  1. var UIGraph = api.require('UIGraph');
  2. UIGraph.reloadData({
  3. id: 1,
  4. type: 'prepend',
  5. data: [{
  6. xAxis: '五月',
  7. yAxis: 45
  8. }, {
  9. xAxis: '六月',
  10. yAxis: 70
  11. }, {
  12. xAxis: '七月',
  13. yAxis: 20
  14. }, {
  15. xAxis: '八月',
  16. yAxis: 85
  17. }]

iOS系统,Android系统

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个,示例中包含示例代码、知识点讲解、注意事项等,供您参考。