首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D3线性标度-颜色码失配

D3线性标度-颜色码失配
EN

Stack Overflow用户
提问于 2016-11-18 06:18:13
回答 1查看 53关注 0票数 0

我使用3种不同的缩放分位数,量化和线性从D3库与颜色的作为范围。分位数和量化似乎工作得很好,而在线性标度中似乎不起作用。

这是示例代码。

代码语言:javascript
复制
var measures = [1,2,3,4,5,6,7,8,9];
var colorScale = ["#f7fcfd", "#ccece6", "#66c2a4", "#238b45", "#00441b"];
var scale = d3.scale.linear().domain(measures).range(colorScale);

document.write('Linear ');
document.write(scale(1) + ',' + scale(2) + ',' + scale(3) + ',' + scale(6) + ',' + scale(7) + ',' + scale(8) + ',' + scale(9)+' ');

scale = d3.scale.quantize().domain(measures).range(colorScale);
document.write('Quantize ');
document.write(scale(1) + ',' + scale(2) + ',' + scale(3) + ',' + scale(4) + ',' + scale(5) + ',' + scale(6) + ',' + scale(7)+' ');

链接到小提琴

在线性缩放的情况下,你可以清楚地看到9,8,7,6是#000。但在量化方面,效果很好。

在这种情况下,请帮我找出问题所在。

希望我的问题很清楚。非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-11-18 06:30:34

如果我正确理解,线性范围是colorScale的长度,因此,这个行为是正确的。见https://github.com/d3/d3-3.x-api-reference/blob/master/Quantitative-Scales.md#linear Given a value x in the input domain, returns the corresponding value in the output range.。解决这一问题的一个常见方法是尝试类似于scale(5 % colorScale.length)的方法

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40670523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档