【发布时间】:2015-04-03 00:29:13
【问题描述】:
us.json 已加载,但是当我尝试添加标签名称时,我无法使其工作。我在.json 文件中看不到 name 属性,那么如何添加每个州名?我对这个框架真的很陌生。
我在 Google 和 Stackoverflow 上尝试了不同的教程,但它们都不适合我。这是我尝试过的情侣教程的链接,我认为值得。
我的担忧:
- 我想我在 us.json 文件中缺少 name 属性。 (如果这是问题所在,是否还有其他包含州名的 .json 文件?以及如何在该文件中使用州名?)
-
http://d3js.org/topojson.v1.min.js中是否包含美国州名?
.html 文件(已加载框架)
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
.js文件:
var width = 1500,
height = 1100,
centered;
var usData = ["json/us.json"];
var usDataText = ["json/us-states.json"];
var projection = d3.geo.albersUsa()
.scale(2000)
.translate([760, height / 2]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").append("svg")
.style("width", "100%")
.style("height", "100%");
svg.append("rect")
.attr("class", "background")
.attr("width", width)
.attr("height", height)
.on("click", clicked);
var g = svg.append("g");
d3.json(usData, function(unitedState) {
g.append("g")
.attr("class", "states-bundle")
.selectAll("path")
.data(topojson.feature(unitedState, unitedState.objects.states).features)
.enter()
.append("path")
.attr("d", path)
.attr("class", "states")
.on("click", clicked);
});
谢谢大家。如果你告诉我你在哪里学习 d3.js,我也很感激。
【问题讨论】:
标签: javascript json dom d3.js