У меня есть карта состояний, идентифицированных по кодам fips и сопоставленная с topoJSON.d3: цвет по отдельному массиву
У меня есть массив ФИПС кодов и население data = [{fips: 1, pop: 2000}, {fips:2, pop: 3240}, etc.]
Я пытаюсь раскрасить состояния населения на коде ниже. Любые мысли о том, почему он не работает?
g.append("g")
.attr("id", "states")
.selectAll("path")
.data(state_features)
.enter().append("path")
.attr("d", path)
.attr("class", "state")
.style("fill", function(d) {
state = data.filter(function(obj) { return obj.fips == d.id; })[0];
return color(state.pop); })
.on("mouseover", tip.show)
svg.call(tip)
Похожая идея работает для моего toolip:
var tip = d3.tip()
.html(functioN(d, i) {
state = data.filter(function(ob) { return obj.fips == d.id;})[0]
return state.pop;})
Благодарим за помощь! То, как настроен topoJSON, я действительно хочу 'obj.fips'. Однако ваша вторая проверка была проблемой. Я использовал ваш код, и теперь он работает - еще раз спасибо! – As3adTintin