Ceaveat Aşağıdakiler yalnızca d3 v3 için geçerlidir, en son d4v4 için geçerli değildir!
Ben d3.js'ye düşkünüm ve Pandalar için tam bir ikame olmayacak olsa da, paradigmasını öğrenmek için biraz zaman harcarsanız, sizin için tüm veri çekişmelerinizle ilgilenebilir. (Ve sonuçları tarayıcıda görüntülemek isteyip istemediğinize karar verirseniz, ideal olarak buna uygundur.)
Misal. CSV dosyam data.csv
:
name,age,color
Mickey,65,black
Donald,58,white
Pluto,64,orange
Aynı dizinde index.html
aşağıdakileri içeren bir tane oluşturun:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>My D3 demo</title>
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<script charset="utf-8" src="demo.js"></script>
</body>
</html>
ve ayrıca demo.js
aşağıdakileri içeren bir dosya:
d3.csv('/data.csv',
function(row) {
return {name : row.name, age : +row.age, color : row.color};
},
function(data) {
console.log(data);
var averageAge = data.reduce(function(prev, curr) {
return prev + curr.age;
}, 0) / data.length;
var ulSelection = d3.select('body').append('ul');
var valuesSelection =
ulSelection.selectAll('li').data(data).enter().append('li').text(
function(d) { return d.age; });
var totalSelection =
ulSelection.append('li').text('Average: ' + averageAge);
});
Dizinde , yaşların ve ortalamalarının basit bir listesini görmek için tarayıcınızda http: // localhost: 8181'i çalıştırın python -m SimpleHTTPServer 8181
ve açın .
Bu basit örnek, d3'ün birkaç alakalı özelliğini göstermektedir:
- Çevrimiçi verileri ( CSV , TSV, JSON, vb.) Almak için mükemmel destek
- Veri uyuşmazlığı yapan akıllılar
- Veriye dayalı DOM manipülasyonu (belki de kafa karıştırması en zor şey): verileriniz DOM öğelerine dönüştürülür.