javaScript矢量圖表庫(kù)-gRaphael幾行代碼實(shí)現(xiàn)精美的條形圖/餅圖/點(diǎn)圖/曲線圖
gRaphael 是一個(gè)致力于幫助開(kāi)發(fā)人員在網(wǎng)頁(yè)中繪制各種精美圖表的 Javascript 庫(kù),基于強(qiáng)大的 Raphael 矢量圖形庫(kù)。你只需要編寫(xiě)幾行簡(jiǎn)單的代碼就能創(chuàng)建出精美的條形圖、餅圖、點(diǎn)圖和曲線圖。
gRaphael 使用 SVG W3C 推薦標(biāo)準(zhǔn)和 VML 作為創(chuàng)建圖形的基礎(chǔ),是跨瀏覽器的矢量圖形庫(kù),目前支持的瀏覽器包括: Firefox 3.0+,Safari 3.0+,Chrome 5.0+,Opera 9.5+ 以及 Internet Explorer 6.0+。
使用方法:在頁(yè)面中引入 raphael.js,g.raphael.js 文件,并根據(jù)需要引入 g.line.js(曲線圖),g.bar.js(條形圖),g.dot.js(點(diǎn)圖)和 g.pie.js(餅圖)文件,然后根據(jù)提供的方法即可創(chuàng)建出你想要的精美圖表,下面是兩個(gè)簡(jiǎn)單示例。
創(chuàng)建靜態(tài)餅圖只需要兩行代碼即可,示例代碼:
// 在坐標(biāo)(10,50)創(chuàng)建 600 × 450 的畫(huà)布
var r = Raphael(10, 50, 600, 450);
// 創(chuàng)建中心坐標(biāo)為(320, 200)的餅圖,半徑為150,數(shù)據(jù)為 [55, 20, 13, 32, 5, 1, 2, 10]的餅圖
r.piechart(320, 240, 150, [55, 20, 13, 32, 5, 1, 2, 10]);
效果演示及完整源碼下載:
源碼下載
創(chuàng)建交互餅圖
結(jié)合 hover 和 click 事件以及動(dòng)畫(huà)方法,你就可以創(chuàng)建精美的交互式餅圖,示例代碼:
// 在坐標(biāo)(10,50)創(chuàng)建 640 × 480 的畫(huà)布
var r = Raphael(10, 50, 640, 480);
// 創(chuàng)建中心坐標(biāo)為(320, 240)的餅圖,半徑為100,數(shù)據(jù)為[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"]
});
// 在坐標(biāo)(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");
// 添加動(dòng)畫(huà)效果
if(this.label) {
this.label[0].animate({
r: 5
}, 500, "bounce");
this.label[1].attr({
"font-weight": 400
});
}
});
效果演示及完整源碼下載:
源碼下載
gRaphael 官方網(wǎng)站地址:http://g.raphaeljs.com/
gRaphael 英文參考文檔:http://g.raphaeljs.com/reference.html
Raphael 官方網(wǎng)站地址: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
相關(guān)文章
Bootstrap企業(yè)網(wǎng)站實(shí)戰(zhàn)項(xiàng)目4
這篇文章主要為大家分享了Bootstrap企業(yè)網(wǎng)站實(shí)戰(zhàn)項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10JavaScript入門系列之知識(shí)點(diǎn)總結(jié)
JavaScript 是屬于網(wǎng)絡(luò)的腳本語(yǔ)言。本文是小編日常收集整理些javascript入門基礎(chǔ)知識(shí),對(duì)js新手朋友非常有幫助,對(duì)js入門知識(shí)點(diǎn)感興趣的朋友一起學(xué)習(xí)吧2016-03-03在實(shí)例中重學(xué)JavaScript事件循環(huán)
這篇文章主要介紹了在實(shí)例中重學(xué)JavaScript事件循環(huán),幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-12-12js 原生判斷內(nèi)容區(qū)域是否滾動(dòng)到底部的實(shí)例代碼
下面筆者就為大家分享一篇js 原生判斷內(nèi)容區(qū)域是否滾動(dòng)到底部的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助2017-11-11詳解微信小程序(Taro)手動(dòng)埋點(diǎn)和自動(dòng)埋點(diǎn)的實(shí)現(xiàn)
這篇文章主要介紹了詳解微信小程序(Taro)手動(dòng)埋點(diǎn)和自動(dòng)埋點(diǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03用JS實(shí)現(xiàn)的一個(gè)include函數(shù)
用JS實(shí)現(xiàn)的一個(gè)include函數(shù)...2007-07-07淺談javascript中的Function和Arguments
下面小編就為大家?guī)?lái)一篇淺談javascript中的Function和Arguments。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08