1 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
您的代碼有幾個(gè)問題:
通常,您在 html<head>標(biāo)記中調(diào)用 d3 庫和色標(biāo)。
<!DOCTYPE html>
<meta charset="utf-8" />
<head>
<!-- Load d3.js -->
<script src="https://d3js.org/d3.v4.js"></script>
<!-- Load color scale -->
<script src="https://d3js.org/d3-scale-chromatic.v1.min.js"></script>
</head>
你<div id="my_dataviz"></div>和它下面的代碼,即<script>包含所有可視化代碼的標(biāo)簽需要放在 HTML<body>標(biāo)簽中。
<body>
<!-- Create a div where the graph will take place -->
<div id="my_dataviz"></div>
<script>
//Your visualization script needs to go here
</script>
</body>
導(dǎo)入的數(shù)據(jù)d3.csv都是字符串格式。因此,您需要使用 foreach 循環(huán)鍵入轉(zhuǎn)換您的數(shù)值數(shù)據(jù),例如:
data.forEach(d => {
d.average_distance = +d.average_distance.trim();
d.average_price = +d.average_price.trim();
d.average_rating = +d.average_rating.trim();
});
您的色標(biāo)需要映射到neighbourhood數(shù)據(jù)集中的 。
// Add a scale for bubble color
var myColor = d3
.scaleOrdinal()
.domain(data.map(d => d.neighbourhood))
.range(d3.schemeSet2);
我已經(jīng)為您進(jìn)行了這些更改,您可以在此處查看代碼框以獲取工作示例。
添加回答
舉報(bào)