0
我有一個SVG,我在Inkscape中做了,現在我想根據數據集值填充SVG中的顏色,但不知何故我不能設法顯示一個簡單的填充。不知道如何做到這一點。SVG不會顯示填充d3.js
var svg_0 = d3.xml("continents_clean.svg", "image/svg+xml", function(xml) {
var importedNode = document.importNode(xml.documentElement, true);
d3.select("#viz").node().appendChild(importedNode);
var dataset;
function checkIt(data){
for (var i in data) {
var data_clean;
data_clean = data[i].Total
dataset = data_clean
fillSvg();
}
}
d3.json("data.json", checkIt);
function fillSvg(){
var svg = d3.select("#level_0")
.selectAll("path")
.data(dataset)
.enter()
.append("path")
.style("fill", "purple");
console.log(svg)
}
});
數據
[{
"Continent":"Asia.Oceania",
"Country_Names":"Yemen",
"Total":20
},
{
"Continent":"Misc",
"Country_Names":"World marine bunkers",
"Total":602.2
},
{
"Continent":"Misc",
"Country_Names":"World aviation bunkers",
"Total":477.8
}
]
.enter()。append('path')不起作用。控制檯上沒有錯誤。 – Imo
我錯過了一件事。由於您正在追加路徑元素,因此您需要設置「d」屬性(selection.attr('d','路徑字符串'))。你可以在這裏閱讀它https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths – sergeyz
什麼是'路徑字符串'在這裏?我想改變d的值只是它的風格 – Imo