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实现的抽象CSS圆角效果!!
May 03 Javascript
Javascript面向对象编程(二) 构造函数的继承
Aug 28 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
Dec 25 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
Sep 22 Javascript
基于JavaScript实现无限加载瀑布流
Jul 21 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
Aug 17 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 Javascript
Vue项目中最新用到的一些实用小技巧
Nov 06 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
Dec 14 Javascript
详解Node.js使用token进行认证的简单示例
May 25 Javascript
vue实现在data里引入相对路径
Jun 05 Vue.js
一行代码实现纯数据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
20个PHP常用类库小结
2011/09/11 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
PHP连接access数据库
2015/03/27 PHP
php获取系统变量方法小结
2015/05/29 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
浅谈python之新式类
2018/08/12 Python
Python2与Python3的区别详解
2020/02/09 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
大学军训感言300字
2014/03/09 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
留学推荐信中文范文
2015/03/26 职场文书
大学生读书笔记大全
2015/07/01 职场文书
会计主管竞聘书
2015/09/15 职场文书
小学运动会开幕词
2016/03/04 职场文书