如何定义笔画的颜色

时间:2017-01-02 15:22:17

标签: javascript d3.js

在此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)
});

我的代码有什么问题?

1 个答案:

答案 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/)等等。