javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图


Posted in Javascript onJanuary 09, 2013

gRaphael 是一个致力于帮助开发人员在网页中绘制各种精美图表的 Javascript 库,基于强大的 Raphael 矢量图形库。你只需要编写几行简单的代码就能创建出精美的条形图、饼图、点图和曲线图。

gRaphael 使用 SVG W3C 推荐标准和 VML 作为创建图形的基础,是跨浏览器的矢量图形库,目前支持的浏览器包括: Firefox 3.0+,Safari 3.0+,Chrome 5.0+,Opera 9.5+ 以及 Internet Explorer 6.0+。

javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

使用方法:在页面中引入 raphael.js,g.raphael.js 文件,并根据需要引入 g.line.js(曲线图),g.bar.js(条形图),g.dot.js(点图)和 g.pie.js(饼图)文件,然后根据提供的方法即可创建出你想要的精美图表,下面是两个简单示例。

创建静态饼图

只需要两行代码即可,示例代码:

// 在坐标(10,50)创建 600 × 450 的画布 
var r = Raphael(10, 50, 600, 450); 
// 创建中心坐标为(320, 200)的饼图,半径为150,数据为 [55, 20, 13, 32, 5, 1, 2, 10]的饼图 
r.piechart(320, 240, 150, [55, 20, 13, 32, 5, 1, 2, 10]);

效果演示及完整源码下载

javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

源码下载

创建交互饼图
结合 hover 和 click 事件以及动画方法,你就可以创建精美的交互式饼图,示例代码:

// 在坐标(10,50)创建 640 × 480 的画布 
var r = Raphael(10, 50, 640, 480); 
// 创建中心坐标为(320, 240)的饼图,半径为100,数据为[55, 20, 13, 32, 5, 1, 2, 10]的饼图 
pie = r.piechart(320, 240, 100, [55, 20, 13, 32, 5, 1, 2, 10], { 
legend: ["%%.%% - Enterprise Users", "IE Users"], 
legendpos: "west", 
href: ["http://raphaeljs.com", "http://g.raphaeljs.com"] 
}); 
// 在坐标(320, 100)绘制文字 
r.text(320, 100, "Interactive Pie Chart").attr({ 
font: "20px sans-serif" 
}); 
// 给饼图添加 hover 事件 
pie.hover(function() { 
this.sector.stop(); 
this.sector.scale(1.1, 1.1, this.cx, this.cy); if(this.label) { 
this.label[0].stop(); 
this.label[0].attr({ 
r: 7.5 
}); 
this.label[1].attr({ 
"font-weight": 800 
}); 
} 
}, function() { 
this.sector.animate({ 
transform: 's1 1 ' + this.cx + ' ' + this.cy 
}, 500, "bounce"); 
// 添加动画效果 
if(this.label) { 
this.label[0].animate({ 
r: 5 
}, 500, "bounce"); 
this.label[1].attr({ 
"font-weight": 400 
}); 
} 
});

效果演示及完整源码下载

javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图

源码下载

gRaphael 官方网站地址:http://g.raphaeljs.com/

gRaphael 英文参考文档:http://g.raphaeljs.com/reference.html 

Raphael 官方网站地址:http://raphaeljs.com

Raphael 英文参考文档:http://raphaeljs.com/reference.html

Raphael 中文帮助文档:http://julying.com/lab/raphael-js/docs/

Raphael 新手入门教程:An Introduction to the Raphael JS Library

Javascript 相关文章推荐
js获取div高度的代码
Aug 09 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
Bootstrap按钮下拉菜单组件详解
May 10 Javascript
jQuery遍历节点树方法分析
Sep 08 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
Sep 17 Javascript
webpack-dev-server自动更新页面方法
Feb 22 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
vue-cli 首屏加载优化问题
Nov 06 Javascript
vue 中 命名视图的用法实例详解
Aug 14 Javascript
vue实现节点增删改功能
Sep 26 Javascript
Vue实现图书管理案例
Jan 20 Vue.js
JavaScript中reduce()的用法
May 11 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 #Javascript
javascript parseInt() 函数的进制转换注意细节
Jan 08 #Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 #Javascript
jquery插件珍藏(图片局部放大/信息提示框)
Jan 08 #Javascript
jquery Mobile入门—外部链接切换示例代码
Jan 08 #Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 #Javascript
jquery Mobile入门—多页面切换示例学习
Jan 08 #Javascript
You might like
php skymvc 一款轻量、简单的php
2011/06/28 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
jQuery版AJAX简易封装代码
2016/09/14 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
python标准库OS模块函数列表与实例全解
2020/03/10 Python
python logging模块的使用
2020/09/07 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
财务会计专业应届毕业生求职信
2013/10/18 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
幼儿教师思想汇报
2014/01/10 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
王老吉广告词
2014/03/20 职场文书
开展创先争优活动总结
2014/08/28 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
2015小学师德工作总结
2015/07/21 职场文书
销售口号霸气押韵
2015/12/24 职场文书