SlideShare a Scribd company logo
Web 绘图




         阳衡锋
议程




 •Noah 中的图表需求

 •解决方案

 •Q&A
需求一 :流程图


 •点 + 箭头

 •放大 / 缩小 / 画布移动

 •点可移动 , 箭头随之移

 动

 •状态 + 操作
需求二 :点 - 线图




 •绘图布局算法

 •增加点 + 线

 •Hover 时高亮关联点

 •点位置可拖动
解决办法 : rgraph


 •简易 OO 封装绘图常见需求

 •项目地址:

   •演示: http://hafeyang.github.com/rgragh/

   •Github 首页:        https://github.com/hafeyang/rgragh
rgraph 功能


 •绘图常见功能:画布,放大 / 缩小 / 画布移动

 •提供点 + 线布局算法

 •Hover 时高亮关联点

 •点位置可拖动

 •增加节点 / 关联线功能
浏览器绘图基本


•IE VML ,最开始是 office 文件导出 web 格

式,渐渐发展成 IE 绘图 API

•!IE SVG 跨平台绘图标准

•HTML5: canvas 绘图新秀
使用 Raphaeljs


 •屏蔽浏览器绘图差异,主流浏览器兼容

 •链式调用,使用简单,扩展性比较好。

 •文档比较详尽。

 •官网: http://raphaeljs.com/
点 - 线图布局算法 :


 •第一步 :找到”顶层”节点,没有子节点的点

 ,水平分布

 •水平间距为经验值: 2.5 倍节点宽度
点 - 线图布局算法 :


 •第二步 :子节点布局位置,理想排布:
点 - 线图布局算法 :


 •实际理想排布:障碍物




 •最多允许 24 子节点,超出该数量随机位置
抖动 ,防止垂直方面连线重叠
位置是否可用 ,见缝插针
缺陷 :


 •菜鸟级算法:只能解决子节点较少的绘图

 •画出来的图不算美观。
项目应用 :


数据配送状
态图

 建库流程图
 ( 布局保存功
 能)
项目应用 :


CT 依赖图


 机器下线
 流程图
谢谢 !

More Related Content

PPTX
Halloween 2011
DOCX
Javascript加载总结
PPTX
谈谈模块化
ODP
I like this bag
PPT
Tangramgrid
PDF
Hereglegdehvvn
PDF
Herelegdehvvn word
PPTX
Slideshare
Halloween 2011
Javascript加载总结
谈谈模块化
I like this bag
Tangramgrid
Hereglegdehvvn
Herelegdehvvn word
Slideshare
Ad

Web绘图