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实现下载远程文件并保存在本地的脚本
May 06 Javascript
JS获得URL超链接的参数值实例代码
Jun 21 Javascript
JS下拉缓冲菜单示例代码
Aug 30 Javascript
提取字符串中年月日的函数代码
Nov 05 Javascript
js向上无缝滚动,网站公告效果 具体代码
Nov 18 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
javascript 获取网页标题代码实例
Jan 22 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
Feb 02 Javascript
基于Turn.js 实现翻书效果实例解析
Jun 20 Javascript
必备的JS调试技巧汇总
Jul 20 Javascript
简单了解JavaScript中的执行上下文和堆栈
Jun 24 Javascript
vscode 调试 node.js的方法步骤
Sep 15 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测试成功的邮件发送案例
2015/10/26 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
angular.bind使用心得
2015/10/26 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
a标签调用js的方法总结
2019/09/05 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python tkinter事件高级用法实例
2018/01/31 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
python实现局域网内实时通信代码
2019/12/22 Python
python路径的写法及目录的获取方式
2019/12/26 Python
Python中zip函数如何使用
2020/06/04 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
如何编写python的daemon程序
2021/01/07 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
HTML5几个设计和修改的页面范例分享
2015/09/29 HTML / CSS
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
计算机专业毕业生求职信
2014/04/30 职场文书
学习雷锋标语
2014/06/25 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
学校施工安全责任书
2015/01/29 职场文书
开除员工通知
2015/04/22 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
2019思想汇报范文
2019/05/21 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers
js 实现验证码输入框示例详解
2022/09/23 Javascript