最近大半個月都和d3鬥爭,學習艱辛(嗚嗚……)若是以爲做者寫的對你有用,能夠打賞做者哦!owocss
起言:結合本身的學習之路,我認爲要想使用d3畫圖搞清楚佈局很重要,井井有條,就給了你很大的靈活性,寫起代碼來就不死板,本文就是給你解釋svg在網頁中的層次,固然,若是你想理解本文,你還須要一些html的基礎知識做爲鋪墊。html
1、【D3圖表在html中的結構】
svg:可伸縮適量圖像
g:一個分組的元素,至關於html中的div元素;圖表都放到g元素中app
由圖標咱們能夠知道,svg是html網頁的一個元素,g元素是svg中的一個塊級元素(div)ide
上面的層級是這樣的:首先咱們在html的body元素中聲明瞭一個ID是container的div元素svg
以後咱們在container這個div元素中添加了一個svg畫布函數
其次咱們在svg中又添加了一個g元素,並進行了移位。佈局
<!DOCTYPE html> <!--混合嵌入式代碼的集合--> <html> <head> <meta charset="utf-8"> <title>畫布製做</title> <style> #container{ background: #ddd; width: 500px; height: 250px; } </style> </head> <body> <div id="container"> </div> <script src="https://cdn.bootcss.com/d3/3.5.15/d3.js"></script><!--d3在線引用文檔--> <script> var svg=d3.select("#container")/*使用select選擇了div(container)元素*/ .append("svg")//在container元素中使用append函數添加了一個svg畫布 .attr("width",450)//attr是attribute的縮寫,so,可使用attr給svg添加屬性 .attr("height",200);/*在svg中我把寬高分別設置爲了450、200px; 特地與div(container)元素加以區分,以理解D3圖表在html中的結構*/ d3.select("svg")//此時選中的svg是上面定義的svg及其復加的內容 .append("g")//添加g元素 .attr("transform","translate(50,30)");//設置偏移量 </script> </body> </html>
上面的代碼是能夠運行的,能夠下載來親自試一下效果會更好。學習
設置偏移量的時候涉及到了html網頁座標,在這就簡單介紹一下; spa
網頁頁面的原點在左上角,繪圖的座標系是如上圖所示的。code
總結:本章介紹了svg元素和g元素在網頁頁面中的所處的位置,創建了設置svg畫布的模型,
若是你是一個但願利用d3來實現數據可視化的玩家的話,本教程很適合你,記得點贊打賞哦。
TIPS:若是你是沒有視頻沒法學習的視點怪的化,這有畫布製做視頻哦。