How to customize the color scale in a D3 line chart?
如何更改d3折线图中的线条颜色,例如Mike Bostock的多系列D3折线图中。
在他的示例图表中,Mike Bostock按照以下代码行使用D3内置的" category10"色标:
1 | var color = d3.scale.category10(); |
但是,假设我们希望将奥斯汀的线条改为蓝色,将纽约的线条设为红色,将旧金山的线条设为绿色,而不是内置的比例尺。 应该足够简单吧? 只需定义一个自定义色标:
1 2 3 | var color = d3.scale.ordinal() .domain(["New York","San Francisco","Austin"]) .range("#FF0000","#009933" ,"#0000FF"); |
我以为可以解决问题,但是所有系列都变黑了。 我尝试过通过将类附加到每个系列来对CSS进行样式设置,但这没有用。
您只缺少
1 2 3 | var color = d3.scaleOrdinal() // D3 Version 4 .domain(["New York","San Francisco","Austin"]) .range(["#FF0000","#009933" ,"#0000FF"]); |
在此处完整示例。
对于D3 v4
1 2 3 | let color = d3.scaleOrdinal() .domain(["New York","San Francisco","Austin"]) .range(["#FF0000","#009933" ,"#0000FF"]); |