Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript D3 scaleLinear()返回rgb值,尽管范围是十六进制值_Javascript_D3.js - Fatal编程技术网

Javascript D3 scaleLinear()返回rgb值,尽管范围是十六进制值

Javascript D3 scaleLinear()返回rgb值,尽管范围是十六进制值,javascript,d3.js,Javascript,D3.js,scaleLinear()返回rgb字符串值,尽管范围映射为十六进制值。我的用法不正确吗 const value = 0; col = d3.scaleLinear().domain([0, 16000]).range(["#ffdc00","#ffa900"]); console.log(col(value)); //returns rgb(255, 220, 0) d3比例依赖于d3插值,它在检测到颜色时默认使用d3.interpolateRgb: 如果b是可强制为颜色的颜色或字符串,请使

scaleLinear()返回rgb字符串值,尽管范围映射为十六进制值。我的用法不正确吗

const value = 0;
col = d3.scaleLinear().domain([0, 16000]).range(["#ffdc00","#ffa900"]);
console.log(col(value));
//returns rgb(255, 220, 0)

d3比例
依赖于
d3插值
,它在检测到颜色时默认使用
d3.interpolateRgb

如果b是可强制为颜色的颜色或字符串,请使用InterpolatorGB

如以下文件所述:

插值器的返回值是RGB字符串

因此,该行为是正常的,并且提供的代码示例非常好

RGB字符串相当于它们的十六进制表示形式,因此可以直接使用它们

如果用例需要十六进制字符串,则可以使用
d3 color
中的函数,如下面的代码段所示:

const值=0;
col=d3.scaleLinear().domain([016000]).range([“#ffdc00”,“#ffa900”]);
设rgbValue=col(值)
log('rgb字符串:',rgbValue);
log('hex字符串:',d3.color(rgbValue.formatHex())

这是预期的行为,如果使用正确,则除非使用自定义插值器,否则刻度将不会返回十六进制值。尽管您可以使用创建一个十六进制值,该值由标尺返回。