<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        d3.js實現創建完整柱形圖的代碼介紹

        來源:懂視網 責編:小采 時間:2020-11-27 19:26:47
        文檔

        d3.js實現創建完整柱形圖的代碼介紹

        d3.js實現創建完整柱形圖的代碼介紹:本篇文章給大家帶來的內容是關于d3.js實現創建完整柱形圖的代碼介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。d3js.org v5.9.2 之前只是各個部分的demo,現在將各部分整合起來,發現還是學到了不少東西 主要是加深了對scale(比
        推薦度:
        導讀d3.js實現創建完整柱形圖的代碼介紹:本篇文章給大家帶來的內容是關于d3.js實現創建完整柱形圖的代碼介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。d3js.org v5.9.2 之前只是各個部分的demo,現在將各部分整合起來,發現還是學到了不少東西 主要是加深了對scale(比
        本篇文章給大家帶來的內容是關于d3.js實現創建完整柱形圖的代碼介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        d3js.org v5.9.2

        之前只是各個部分的demo,現在將各部分整合起來,發現還是學到了不少東西

        主要是加深了對scale(比例尺)的理解

        代碼

        樣式及數據

        先是樣式

        <style>
         rect {
         fill: pink
         }
         text {
         font-size: 10px;
         }
        </style>

        接著是數據及柱狀圖寬高等

        const
         data = [3, 6, 10, 25],
         barWidth = 100,
         barHeight = 300,
         padding = { //svg留白用
         top: 100,
         right: 100,
         bottom: 100,
         left: 100
         };

        創建比例尺

        實踐之后對比例尺與坐標軸的理解加深了一點

        let barScale = d3.scaleLinear().domain([0, d3.max(data)]).range([0, barHeight]),
         yAxisScale = d3.scaleLinear().domain([d3.max(data), 0]).range([0, barHeight]),//y軸使用線性比例尺,注意domain輸入域
         xAxisScale = d3.scaleBand().domain([1, 2, 3, 4]).range([0, (barWidth - 1) * data.length]); //x軸使用scaleBand比例尺

        barScale用于柱形圖創建
        yAxisScale用于y軸創建,注意domain()的輸入域,否則刻度數值大小排列會相反
        xAxisScale用于x軸創建,使用scaleBand序數比例尺
        之前對比例尺的理解太過膚淺,這里也做了幾個小實驗

        console.log(`barScale(0):` + barScale(0));
        console.log(`yAxisScale(0):` + yAxisScale(0));
        console.log(`xAxisScale(2):` + xAxisScale(2));

        顯示如下

        4085942393-5ca5a52a87351_articlex.png

        對于barScaleyAxisScale,輸入域相反,所以映射相反,把一篇他人很棒的總結放于文末

        創建柱狀圖

        let barContainer = d3.select('.chart')
         .attr('width', data.length * barWidth + padding.left + padding.right)
         .attr('height', barHeight + padding.top + padding.bottom)
         .selectAll('g')
         .data(data).enter().append('g')
         .attr('transform', (d, i) => {
         return 'translate(' + (padding.left + i * barWidth) + ',' + (padding.top + barHeight - barScale(d)) + ')'
         });
        barContainer.append('rect')
         .attr('height', d => barScale(d))
         .attr('width', barWidth - 1);
        barContainer
         .append('text')
         .text(d => d)
         .attr('y', 10)
         .attr('x', barWidth / 2 - 5);

        這里使用了之前定義的padding對象的值進行部分留白

        創建坐標軸

        /**
         * 創造y軸
         */
        let yAxis = d3.axisLeft(yAxisScale);
        d3.select('.chart')
         .append('g')
         .attr('transform', 'translate(' + (padding.left - 10) + ',' + padding.top + ') ')
         .call(yAxis);
        /**
         * 創建X軸
         */
        let xAxis = d3.axisBottom(xAxisScale);
        d3.select('.chart')
         .append('g')
         .attr('transform', 'translate(' + (padding.left) + ',' + (padding.top + barHeight) + ')')
         .call(xAxis);

        最后創建坐標軸

        3156082366-5ca5a5341d4c3_articlex.png

        【相關推薦:JavaScript視頻教程】

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        d3.js實現創建完整柱形圖的代碼介紹

        d3.js實現創建完整柱形圖的代碼介紹:本篇文章給大家帶來的內容是關于d3.js實現創建完整柱形圖的代碼介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。d3js.org v5.9.2 之前只是各個部分的demo,現在將各部分整合起來,發現還是學到了不少東西 主要是加深了對scale(比
        推薦度:
        標簽: 創建 柱狀圖 代碼
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 深夜a级毛片免费视频| 国产美女精品视频免费观看| 中文字幕亚洲不卡在线亚瑟| 亚洲欧美日韩综合俺去了| 免费AA片少妇人AA片直播| 亚洲日本va在线观看| 扒开双腿猛进入爽爽免费视频 | 一个人免费视频在线观看www | 免费看无码自慰一区二区| 亚洲成熟丰满熟妇高潮XXXXX| 免费看的一级毛片| 大片免费观看92在线视频线视频 | 亚洲国产中文在线二区三区免| 亚洲美女免费视频| 亚洲精品第一国产综合野| 国产精品冒白浆免费视频| 免费视频成人国产精品网站| 亚洲色偷偷偷鲁综合| 亚洲精品免费观看| 亚洲色大成网站www尤物| 亚洲国产精品激情在线观看| 韩国免费a级作爱片无码| 亚洲高清在线mv| 青青草国产免费久久久下载| 中文字幕视频免费在线观看| 亚洲国产天堂在线观看| 天天干在线免费视频| j8又粗又长又硬又爽免费视频 | 97久久精品亚洲中文字幕无码| 一个人看www在线高清免费看| 亚洲AV网一区二区三区| 亚洲国产精品SSS在线观看AV| 日本免费人成在线网站| 国产91成人精品亚洲精品| 国产亚洲精品无码成人| 很黄很色很刺激的视频免费| 免费一级毛片无毒不卡| 亚洲1区1区3区4区产品乱码芒果 | 久久免费精彩视频| 九九精品国产亚洲AV日韩| 亚洲欧洲精品无码AV|