美文网首页
Day 15 : d3 學習筆記 - 用資料繪圖

Day 15 : d3 學習筆記 - 用資料繪圖

作者: YNC再寫一篇 | 来源:发表于2017-12-18 21:40 被阅读0次

在� d3 如果要把一個類別加到某個元素,會用 selection.attr() 函式。
attr() 是用來設定 DOM 的特性值,style() 是直接在某個元素上套用css樣式。

div

在檔案中加入這個css設定

div.bar{
            display:inline-block;
            width:20px;
            height:75px;
            background: #0a969b;
            margin-right:2px
        }

d3的部分則是

var dataset = [ 5, 10, 15, 20, 25 ];        d3.select("body").selectAll("div").data(dataset).enter()
        .append("div").attr("class","bar")
        .style("height",function(d){
            return d + "px";
        });
長這樣

美化一下

var dataset = [ 5, 10, 15, 20, 25 ];        d3.select("body").selectAll("div").data(dataset).enter()
    .append("div").attr("class","bar")
    .style("height",function(d){
        var barHeight = d * 5; //高度5倍
        return barHeight + "px";
    });
長高

隨機資料

var dataset = [];
for (var i = 0;i < 25; i++){
    var newNumber = Math.round(Math.random() * 30); //隨機30個整數
    dataset.push(newNumber);
}
d3.select("body").selectAll("div").data(dataset).enter()
    append("div").attr("class","bar")
    .style("height",function(d){
        var barHeight = d * 5;
        return barHeight + "px";
    });

svg

var w = 500;
var h = 100;
var svg = d3.select("body").append("svg").attr("width", w).attr("height", h);
var circles = svg.selectAll("circle").data(dataset).enter().append("circle");
circles.attr("cx" , function(d, i){
    return(i * 50) + 25;
    }).attr("cy" , h/2).attr("r" ,function(d){
    return d;
});
svg

cx 是圓形中心點的 x 軸,d的值仍然是dataset 內的,i 是被自動產生,這裡 i 可以隨意命名。
cy 是圓形中心點的 y 軸,把 cy 設定為 �h 的一半,因為 h 是整個 svg 的高度,將 y 軸設定 h 除以 2 ,可以讓所有圓形都對齊垂直中心點。

加點顏色

.attr("fill","white")
.attr("stroke","orange")
.attr("stroke-width",function(d){
    return d/2;
});
svg顏色 div 與 svg 的呈現都是 dataset 內同樣的資料

相关文章

  • Day 15 : d3 學習筆記 - 用資料繪圖

    在� d3 如果要把一個類別加到某個元素,會用 selection.attr() 函式。attr() 是用來設定 ...

  • [機器學習]VC維(未完)

    機器學習類型 預測已知資料 如下圖已知資料中,我們使用PLA可以預測6個已知資料 預測未知資料 學習架構 為群體參...

  • Day 14 : d3 學習筆記 - 資料

    d3d3 可以處理不同種類的資料,支援使用任何包含數字、字串或物件在內的陣列。也可以有效率的處理JSON,甚至有內...

  • Day 24 : firebase (一)

    firebase 資料庫 之前已經上網爬文看過怎麼將 Firebase 加入網路應用程式。 學習到新的知識點筆記:...

  • 隨手一拍2016.12.19

    打卡第九天,最近忙著找英語學習資料,修圖居然忽略了??

  • 彩色禪繞圖樣

    今天用Sakura月光筆搭配Zentangle Apprentice Tile黑色學習紙磚創作,好久沒畫彩色圖樣了...

  • 自學烏克麗麗-高頻小套路

    # 學烏克麗麗-自學筆記 學習的心情一定要開心,不要有壓力。 1. 設定學習目的,ex:自彈自唱(自嗨) 2. 選...

  • Kotlin學習筆記

    變數(variable) 1.不可改變的變數 2.可以改變的變數 example: 方法 預設是final, pu...

  • 學習筆記1

    #筆記 羅胖今天講新書《事實》還有每天聽書的《心智》讓我大受啟發,立刻被我列為必讀書單。 《事實》讓我們用長時段看...

  • 學習筆記分享

    恬淡虛無 真氣從之,宇宙法則,馬太效應:好的人會越來越好,壞的人越來越壞 淡是平淡 淡淡的 反義詞:酸苦甘辛甜 重...

网友评论

      本文标题:Day 15 : d3 學習筆記 - 用資料繪圖

      本文链接:https://www.haomeiwen.com/subject/ekfmwxtx.html