我有一个CSV文件,如下所示:
Category,Value
category1,162
category1,151
category2,124
category1,135
category2,315
我想创建一个独有的无序类别列表(没有重复的类别),所以列表应如下所示:
<ul>
<li>category1</li>
<li>category2</li>
</ul>
阵列非常大,所以应该很快。 这就是我到目前为止(将CSV的某些部分显示为散点图):
d3.csv("data.csv", function(error, data) {
data.forEach(function(d) {
d.Value = +d.Value;
});
svg.selectAll(".dot")
.data(data)
.enter().append("circle")
.attr("class", "dot")
.attr("r", 1)
.attr("cx", function(d) { return x(d.Value); })
.attr("cy", 10);
除了svg之外,创建类别列表的最佳方法是什么?
答案 0 :(得分:2)
您可以使用以下类别构建另一个数组:
var categories = [];
data.forEach(function(d) {
d.Category = Category;
d.Value = +Value;
if(categories.indexOf(d.Category) == -1) categories.push(d.Category);
});
// etc
d3.select("body").append("ul").selectAll("li")
.data(categories)
.enter().append("li")
.html(function(d) { return d; });