【发布时间】:2013-04-12 17:19:43
【问题描述】:
我目前正在使用 D3.js,但遇到了一个我似乎无法解决的问题。
我有一个 CSV,其中有一个名为“Set”的列和一个名为“Year”的列。我想从这些列中提取值并将它们用作类名。这是我目前拥有的...
var circle = svg.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("class", function(d) {
if (d["Set"] == 1)
{
return "set-1";
}
if (d["Set"] == 2)
{
return "set-2";
}
});
这工作得很好,并且给每个数据点一个类名。但是,当我尝试以下操作时,“Set”类名被“Year”类名覆盖。
var circle = svg.selectAll("circle")
.data(data)
.enter()
.append("circle")
.attr("class", function(d) {
if (d["Set"] == 1)
{
return "set-1";
}
if (d["Set"] == 2)
{
return "set-2";
}
.attr("class", function(d) {
if (d["Year"] == 2012)
{
return "2012";
}
if (d["Year"] == 2013)
{
return "2013;
}
});
如何纠正这段代码,以便添加额外的类名而不是覆盖它们。
希望有人能提供帮助。
【问题讨论】:
-
你考虑过使用 jQuery 吗?它有一个很好的
addClass()方法。 -
但是如何访问 .CSV 并将类应用到正确的数据节点?
-
在CSV文件中加载后可以添加类吗?
标签: javascript html css svg d3.js