首頁 >web前端 >js教程 >D3.js 從P元素的建立開始(顯示可載入資料)_javascript技巧

D3.js 從P元素的建立開始(顯示可載入資料)_javascript技巧

WBOY
WBOY原創
2016-05-16 16:32:361465瀏覽

D3是一個基於資料操作的視覺化js函式庫,認識d3,就從最基礎的顯示可載入資料談起。

html的基本框架不多說,先上程式碼再解釋:

新建一個test目錄,在該目錄下建立demo和d3兩個資料夾。 demo存放要編寫的html檔 , d3存放d3.v3.js

在demo資料夾下新indexP.html,將下面程式碼複製其中,雙擊在瀏覽器開啟查看效果。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>D3: Setting paragraphs' style conditionally, based on data</title> 
<script type="text/javascript" src="../d3/d3.v3.js"></script> 
</head> 
<body> 
<script type="text/javascript"> 

var dataset = [ 5, 10, 15, 20, 25 ]; 

d3.select("body").selectAll("p") 
.data(dataset) 
.enter() 
.append("p") 
.text(function(d) { 
return "I can count up to " + d; 
}) 
.style("color", function(d) { 
if (d > 15) { //Threshold of 15 
return "red"; 
} else { 
return "black"; 
} 
}); 

</script> 
</body> 
</html> 

這個簡單demo實作的功能:在body中加入p標籤,在p標籤中加入d3載入的文字內容,並根據函數設定條件對文字顏色進行調整。

上面的網頁程式碼,body裡面的js程式碼,是展現到頁面的資料操作。以後的不少例子,只要修改這一塊便可,其他部分可看做頁面框架。

這裡的內容上篇文章大體都講到了,使用d3的連綴,將同一物件的一步步資料操作連接起來,以便於維護。

d3.select("body") 選擇body元素,並連綴到下一個方法

.selectAll("p") 選取所有段落

.data(dataset) 解析載入數組數據,該數組長度是5, 以後連綴的每個方法都將執行五次,按數組下標依次針對數組元素執行方法操作

.enter() 建立新的綁定資料的佔位元素(相當於建立暫時不知名標籤5個)。

建立的個數 要根據所選的已有標籤數和載入的資料數組長度決定。

如本例,如果body中p標籤少於5個,就創建(現在body中p為0個,故創建5個),

多於就不創建,最後的佔位元素和p元素總個數要為5。

.append("p") 將佔位元素改為p元素

.text(function(d) {}) 對每個段落的顯示內容,寫個匿名函數控制,一般回傳字串。在該方法你可以 任意寫,

本例讓他每段落輸出I can count up to 加上對應陣列元素值

函數格式是固定的,function(d)只有這樣,才能將資料載入到函數中。

.style("color","") 設定css的文字顏色屬性,同text一樣,設定的字串都可以用function進行你想要的操作。本例中,若該段落所對應的傳入數值大於15,就把該行變紅

最後,我們看到的效果就是如圖:

本文就介紹到這裡,下文介紹如何在SVG中繪製圓,以及圓圓相連的簡單用力圖

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn