d3-系列-基礎簡介
本篇文章會介紹怎麼繪製一個圓圈,一條線,一個矩形。
1.SVG是什麼?
先介紹SVG,在d3的世界裡的重要性就如何html中的body元素一樣,它可以認為d3元素的母體,麼有SVG,d3就沒有發揮的餘地。一般來說,IE8一下的是不支援SVG的,因此對瀏覽器相容方面是有點缺陷的。
1.1 如何繪製SVG?
首先要建立一個SVG元素,一般我們會把它儲存下來,留作以後使用
var svg = d3.select("body").append("svg");
僅僅建立它還不夠,我們需要設定它的寬和高
svg.attr('width', 500).attr('height', 400);
d3.js是可以鏈式程式設計的,因此你可以把上面兩句連成一句話來使用。
代替的html程式碼:
<svg width="500" height="400"></svg>
2.如何在SVG的基礎上繪製一個圓圈?
類似於繪製SVG一樣,我們現在要在svg變數上append一個圓圈,而繪製圓圈需要圓的半徑,圓圈的圓心坐在的橫座標和縱座標,因此在程式碼裡面我們也要寫明這幾點。
var circle = svg.append('circle').attr('cx', 250).attr('cy',250).attr('r',25);
代替的html程式碼:
<circle cx="250" cy="25" r="25"/>
3.如何SVG的基礎上繪製一個矩形?
我覺得走完第二步,大家肯定也知道矩形怎麼繪製了,矩形在這裡是rect元素,我們需要制定的是它的寬高以及左上角的橫座標縱座標,以下程式碼我們繪製出一個姿色的矩形框,試著改變裡面的值看看,你會意識到這些屬性的意義,是不是很神奇?
var rect = svg.append('rect').attr('x',0).attr('y',0).attr('width',30).attr('height',30).attr('fill','purple');
代替的html程式碼
<rect x="0" y="0" width="30" height="30" fill="purple"/>
4.如何在SVG的基礎上繪製一條線?線的元素師line,我們可以制定其實起始橫縱座標,填充顏色等,是不是等不及了?趕緊在自己瀏覽器中嘗試看看吧?
var line = svg.append('line').attr('x1',0).attr('y1',0).attr('x2',500).attr('y2',50).attr('stroke','black');
代替的html程式碼
<line x1="0" y1="0" x2="500" y2="50" stroke="black"/>
總結:順著這樣,其實在SVG中繪畫d3基本上是這樣的套路,下個版本我會講述d3是怎麼資料驅動圖形的,以及我們可以一起來完成一個資料地圖。
相關文章
- Spring AOP基礎簡介Spring
- JavaFX基礎:1: 簡介Java
- RocketMQ系列1:基礎介紹MQ
- CSS基礎知識簡介CSS
- web workers簡介(一)基礎使用Web
- python基礎學習-socket簡介Python
- iptables基礎原理和使用簡介
- C語言基礎-C簡介C語言
- CSS基礎:CSS變數簡介CSS變數
- 《MySQL 8 DBA基礎教程》簡介MySql
- GOLANG簡介與基礎語法Golang
- 前端系列文章-html之基礎介紹前端HTML
- C#基礎程式設計——簡介及基礎語法C#程式設計
- scrapy框架簡介和基礎應用框架
- TypeScript基礎入門-函式-簡介TypeScript函式
- SpringBoot基礎24_SpringBoot簡介1Spring Boot
- 【Python基礎知識】Django框架簡介PythonDjango框架
- JAVA基礎之六-Stream(流)簡介Java
- 圖資料庫基礎簡介 -KDnuggets資料庫
- 【Kubernetes系列】第2篇 基礎概念介紹
- WebRTC基礎實踐-1.WebRTC簡介Web
- 併發程式設計基礎——JMM簡介程式設計
- Flutter檢視基礎簡介--Widget、Element、RenderObjectFlutterObject
- 小白nlp入門基礎(一)--nlp簡介
- 《Kubernetes零基礎快速入門》簡介
- 資料管理流程,基礎入門簡介
- Spring系列.Bean簡介SpringBean
- Terraform 系列-Terraform 簡介ORM
- Java基礎筆記09-陣列簡介Java筆記陣列
- NodeJS專案基礎結構簡單介紹NodeJS
- Java基礎系列-Java8 Stream 簡明教程Java
- 【CSS】CSS簡介,CSS基礎選擇器詳解CSS
- Python基礎入門知識點——if 語句簡介Python
- 簡單介紹一下Component基礎佈局
- canvas系列教程之簡介Canvas
- 個人伺服器基礎設施架構簡介伺服器架構
- 【資料結構基礎】棧簡介(使用ES6)資料結構
- 【機器學習基礎】半監督學習簡介機器學習