Svg 何进入数据viz与其他领域的专业知识。感谢您的回复。实际上,使用console.log我可以看到灰色实际上存储为:“rgb(255,0,0)”。我可以直接使用它,让我粗糙的代码正常工作。不过,我想理解您的注释,并使我的代码更好——如何在基准面上存储矩形的状
Svg 何进入数据viz与其他领域的专业知识。感谢您的回复。实际上,使用console.log我可以看到灰色实际上存储为:“rgb(255,0,0)”。我可以直接使用它,让我粗糙的代码正常工作。不过,我想理解您的注释,并使我的代码更好——如何在基准面上存储矩形的状,svg,d3.js,Svg,D3.js,何进入数据viz与其他领域的专业知识。感谢您的回复。实际上,使用console.log我可以看到灰色实际上存储为:“rgb(255,0,0)”。我可以直接使用它,让我粗糙的代码正常工作。不过,我想理解您的注释,并使我的代码更好——如何在基准面上存储矩形的状态?“状态”是颜色还是其真值。是d3内置了“isToggled”还是我需要写的东西?非常感谢。Stackoverflow社区是学习者的资源。你反应这么快真是太好了。我采纳了你所有的建议,我明白了!再次感谢@贝卡:很好!很乐意为您提供帮助,尤其是
何进入数据viz与其他领域的专业知识。感谢您的回复。实际上,使用console.log我可以看到灰色实际上存储为:“rgb(255,0,0)”。我可以直接使用它,让我粗糙的代码正常工作。不过,我想理解您的注释,并使我的代码更好——如何在基准面上存储矩形的状态?“状态”是颜色还是其真值。是d3内置了“isToggled”还是我需要写的东西?非常感谢。Stackoverflow社区是学习者的资源。你反应这么快真是太好了。我采纳了你所有的建议,我明白了!再次感谢@贝卡:很好!很乐意为您提供帮助,尤其是那些在其他领域拥有专业知识的人。谢谢您的回复。实际上,使用console.log我可以看到灰色实际上存储为:“rgb(255,0,0)”。我可以直接使用它,让我粗糙的代码正常工作。不过,我想理解您的注释,并使我的代码更好——如何在基准面上存储矩形的状态?“状态”是颜色还是其真值。是d3内置了“isToggled”还是我需要写的东西?非常感谢。Stackoverflow社区是学习者的资源。你反应这么快真是太好了。我采纳了你所有的建议,我明白了!再次感谢@贝卡:很好!很乐意提供帮助,尤其是那些在其他领域拥有专业知识的人。
var w = 300;
var h = 200;
var colors = ["Red","Green","Blue"];
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height",h);
var squares = svg.selectAll("rect")
.data(colors)
.enter()
.append("rect")
.on("click", function(){
if(d3.select(this).style("fill") != "Gray"){
d3.select(this).style("fill", "Gray")
}
else{
d3.select(this).style("fill", d3.select(this).fill)
};
});
squares.attr("x", function(d, i){
return 100+i*80;
})
.attr("y", 100)
.attr("width", 40)
.attr("height", 40)
.attr("fill", function(d){
return d;
});;
var clicked = d3.select(this);
var datum = clicked.datum();
if(!datum.isToggled) { datum.isToggled = true; }
else { datum.isToggled = false; }
if(datum.isToggled) { clicked.style("fill", "Gray"); }
else { clicked.style("fill", datum); }
[
{ fill: "Red" },
{ fill: "Green" },
{ fill: "Blue" }
]
.attr("fill", function(d){
return d.fill;
});