在此fiddle中如何更改笔画的颜色?
我尝试了这段代码,但它没有改变颜色:
var colors = ["#F0E5FF","#E1CCFF","#C499FF","#AC79F2","#8D4CE5","#6100E5","#C94D8C"];
var colorScaleDomain = [100, 300, 1000, 10000, 50000, 600000];
var colorScale = d3.scale.threshold()
.domain(colorScaleDomain)
.range(colors);
link.style("stroke", function(d){
return colorScale(d[0].size)
});
我的代码有什么问题?
答案 0 :(得分:3)
因此,问题在于如何根据您的数据选择colorScaleDomain"尺寸"属性。现在的方式,许多值属于一个类别,因此选择一种颜色。我将尝试提供一般解决方案,而不是硬编码规模: https://jsfiddle.net/mkaran/3adu1u2n/ ,其中colorScaleDomain的计算方法是创建与颜色长度一样多的相等分档
[0, 3513, 7026, 10539, 14052, 17565, 21078]
比例示例:d.imports.length
如果要对颜色进行不同的分组,可以尝试使用与大小不同的变量。例如。 // RSS sorting of <items> by DESC
NodeList nl = document.getElementsByTagName( "item" );
LinkedList<Node> nodes = new LinkedList<Node>();
for( int i = 0; i < nl.getLength(); i++ ) {
nodes.addFirst( nl.item( i ) );
}
for( Node node : nodes ) {
node.getParentNode().appendChild( node.getParentNode().removeChild( node ) );
}
会对它们进行不同的分组(https://jsfiddle.net/mkaran/snec9kgf/)等等。