我正在从这个json
创建一个新数组http://data.cityofnewyork.us/resource/a7hj-s5px.json
我存储邮政编码以及邮政编码在数据集中显示的次数。
它有其他信息,例如什么类型的噪音,以及稍后我将处理的。
这是我在做的事情: 通过执行此操作检查我们在数据集中有多少个唯一邮政编码
var zipValue = [];
var zipFrequency = [];
var map = d3.map();
data.forEach(function (d) {
var zipCount = map.get(d.incident_zip);
map.set(d.incident_zip, zipCount === undefined ? 1 : ++zipCount);
});
//storing the mapped values in an array
zipValue = map.keys(map);
zipFrequency = map.values(map);
var hScale = d3.scale.linear()
.domain([0, d3.max(newArray, function(d) { return d[1]; })])
.range([7, 70]);
最后尝试将hScale作为参数传递给形状。
这是我的小提琴 http://jsfiddle.net/sghoush1/rYXbG/15/我到底哪里错了?
答案 0 :(得分:0)
你看过控制台了吗?我检查了你的小提琴,你有一个错误:
Uncaught TypeError: Object [object Array] has no method 'hScale'
并且,它似乎是由以下原因引起的:
svg.selectAll("rect")
.data(newArray)
.enter()
.append("rect")
.attr("x", (k++) + 2)
.attr("y", 125)
.attr("width", 2)
.attr("height", function (d, i) {return d.hScale(d[1]);});
最后一行应该是return hscale(d[1]);
而不是d.hscale
。