最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用d3.js實現(xiàn)蜂巢圖表帶動畫效果

 更新時間:2019年09月03日 08:33:30   作者:eagle1098  
這篇文章主要給大家介紹了關于如何利用d3.js實現(xiàn)蜂巢圖表帶動畫效果的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用d3.js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧


以上是效果圖,本圖表使用d3.js v4制作。圖表主要功能是在六邊形格子中顯示數(shù)據(jù),點擊底部圖標可以切換指定格子高亮顯示,圖表可以隨瀏覽器任意縮放。

1.圖表的主體結構是由正六邊形組成,使用d3生成六邊形可以使用d3-hexbin.js,生成六邊形比較方便,只要給定中心點坐標和半徑即可生成六邊形路徑,例如:

var r = 10;// 六邊形半徑
var pos = [[5,5],[10,10]]; // 六邊形中心點坐標數(shù)組
var hexbin = d3.hexbin() // 使用hexbin.hexagon()即可生成路徑
.radius(r);
var bins = hexbin(pos); // 得到生成后的六邊形中心點坐標數(shù)組

2.圖表的主體使用了高斯模糊濾鏡,使畫面表現(xiàn)出發(fā)光效果,背景高亮顏色使用了顏色漸變?yōu)V鏡。在svg中使用濾鏡,必須定義在defs中。

高斯模糊濾鏡:

// 創(chuàng)建defs
var defs = svg.append("defs");

// 添加模糊濾鏡
var filterBlur = defs.append('filter')
.attr('id', 'filterBlur')
.attr('x', -1.2)
.attr('y', -1.2)
.attr('width', 4)
.attr('height', 4);

// 添加輔助濾鏡
filterBlur.append('feOffset')
.attr('result', 'offOut')
.attr('in', 'SourceGraphic')
.attr('dx', 0)
.attr('dy', 0);

// 添加模糊濾鏡
filterBlur.append('feGaussianBlur')
.attr('result', 'blurOut')
.attr('in', 'SourceGraphic')
.attr('stdDeviation', 2);

// 添加輔助濾鏡
filterBlur.append('feBlend')
.attr('in', 'SourceGraphic')
.attr('in2', 'blurOut')
.attr('mode', 'multiply');

重點說一下最后的feBlend,它的作用是把濾鏡效果和原圖混合起來。使用濾鏡的話,直接給元素添加style('filter', 'url(#filterBlur)')即可。

背景高亮使用了顏色漸變?yōu)V鏡:

// 添加放射性變換,生成空心填充顏色
var warnBg = defs.append("radialGradient")
.attr("id", "bg")
.attr('cx', 0.5)
.attr('cy', 0.5)
.attr('r', 0.5);

// 添加顏色
warnBg.append('stop')
.attr('offset', 0.5)
.attr('style', 'stop-color:rgb(200,200,200);stop-opacity:0.4');
warnBg.append('stop')
.attr('offset', 1)
.attr('style', 'stop-opacity:1;stop-color:rgb(123,123,123)');

其中涉及到的關鍵性技術就是這些,其他方面只要使用通用的d3方法就可實現(xiàn)。

需要注意的是,程序的結構要預先規(guī)劃好,最好把主要的功能模塊放在單獨一個函數(shù)中,方便調(diào)用和后期修改。

如果大家有什么想法或意見可以交流一下。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法

    JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法

    這篇文章主要介紹了JS實現(xiàn)橫向與豎向兩個選項卡Tab聯(lián)動的方法,涉及JavaScript遍歷及動態(tài)修改頁面元素屬性的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • ES6入門教程之Iterator與for...of循環(huán)詳解

    ES6入門教程之Iterator與for...of循環(huán)詳解

    最近在學習ES6,剛剛看到Iterator和for...of循環(huán)這一章,所以想要跟大家略微分享一下,下面這篇文章主要給大家介紹了關于ES6入門學習中Iterator與for...of循環(huán)的相關資料,不足之處還望大家多多指正,需要的朋友們可以參考學習。
    2017-05-05
  • js中關于promise的用法解讀

    js中關于promise的用法解讀

    這篇文章主要介紹了js中關于promise的用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • javascript 可控式透明特效實現(xiàn)代碼

    javascript 可控式透明特效實現(xiàn)代碼

    透明特效是script.aculo.us提到的特效中最簡單的特效之一。既然是特效,必須涉及時間與空間的概念。時間我們可以用setTimeout與setInterval,個人比較喜歡setTimeout,雖然它每次調(diào)用都重復注冊,但可控性比較好。
    2010-01-01
  • DOM中事件處理概覽與原理的全面解析

    DOM中事件處理概覽與原理的全面解析

    這篇文章主要為大家詳細解析了DOM中事件處理概覽與原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • js如何將輸入的文字部分獲取拼音首字母

    js如何將輸入的文字部分獲取拼音首字母

    這篇文章主要介紹了js如何將輸入的文字部分獲取拼音首字母問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • js中數(shù)組對象去重的兩種方法

    js中數(shù)組對象去重的兩種方法

    今天小編就為大家分享一篇關于js中數(shù)組對象去重的兩種方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 使用Mock.js生成前端測試數(shù)據(jù)

    使用Mock.js生成前端測試數(shù)據(jù)

    這篇文章主要介紹了使用Mock.js生成前端測試數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • echarts學習之legend點擊事件解讀

    echarts學習之legend點擊事件解讀

    這篇文章主要介紹了echarts學習之legend點擊事件解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • JavaScript禁止復制與粘貼的實現(xiàn)代碼

    JavaScript禁止復制與粘貼的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狫avaScript禁止復制與粘貼的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05

最新評論

赣榆县| 海丰县| 漠河县| 屯留县| 洪洞县| 富顺县| 宁陕县| 四子王旗| 鄄城县| 博野县| 历史| 天长市| 荆门市| 芜湖县| 廉江市| 台南县| 洞头县| 林州市| 蕲春县| 孟州市| 陇西县| 福鼎市| 海宁市| 望江县| 涞水县| 修武县| 长春市| 交城县| 德清县| 昭苏县| 南乐县| 青海省| 怀化市| 孟津县| 利津县| 安徽省| 佛坪县| 赤城县| 阿瓦提县| 屏南县| 抚顺县|