美好的一天,
我遇到了我创建的D3地图的问题。我想缩放世界地图不是通过点击国家,而是选择下拉控件内的国家/地区下拉列表。
这是我的代码..
var dispatch = d3.dispatch("load", "countrychange");
d3.csv("data/ERSreputationBlocked.csv",type, function (error, country) {
if (error) throw error;
var countryById = d3.map();
country.forEach(function (d) { countryById.set(d.id, d); });
dispatch.load(countryById);
dispatch.countrychange(countryById.get("PH"));
//console.log(country);
});
dispatch.on("load.menu", function(countryById) {
var select = d3.select("body")
.append("div")
.append("select")
.on("change", function () { dispatch.countrychange(countryById.get(this.value)); });
select.selectAll("option")
.data(countryById.values())
.enter().append("option")
.attr("value", function (d) { return d.id; })
.text(function (d) { return d.Country; });
dispatch.on("countrychange.menu", function (country) {
select.property("value", country)
//loading the value based on the selected data
var svg1 = d3.select("body").append("svg1")
.attr("width", width)
.attr("height", height)
//end of selection
console.log(country);
});
});
//end of drop down
function type(d) {
d.total = d3.sum(d.value, function (k) { return d[k] = +d[k]; });
return d;
}
有没有办法如何操纵这个......