D3.js 基于最大值的热图颜色范围&;最小值

D3.js 基于最大值的热图颜色范围&;最小值,d3.js,D3.js,我正试图利用这个示例进行可视化 除了这一部分,它几乎可以工作 var colorScale = d3.scale.threshold() .domain([0.85, 1]) .range(["#2980B9", "#E67E22", "#27AE60", "#27AE60"]); 我基本上想要一个基于csv数据中最小值和最大值的标准vibgyor可视化 任何建议,我如何修改上面的例子。 谢谢如果您想要紫色-靛蓝-蓝色-绿色-黄色-橙色-红色刻度,您可以使用顺

我正试图利用这个示例进行可视化

除了这一部分,它几乎可以工作

var colorScale = d3.scale.threshold()
        .domain([0.85, 1])
        .range(["#2980B9", "#E67E22", "#27AE60", "#27AE60"]);
我基本上想要一个基于csv数据中最小值和最大值的标准vibgyor可视化

任何建议,我如何修改上面的例子。
谢谢

如果您想要紫色-靛蓝-蓝色-绿色-黄色-橙色-红色刻度,您可以使用顺序刻度

然后,使用值中的最小值和最大值设置域,就像任何其他连续比例一样

这是一个基本的例子。假设以下数据:

const data = [12, 43, 76, 54, 87, 91, 17, 42, 36];
我们这样设置比例:

const scale = d3.scaleSequential()
    .domain(d3.extent(data))
    .interpolator(d3.interpolateRainbow);
正在运行演示:

const data=[12,43,76,54,87,91,17,42,36];
常量比例=d3.scaleSequential()
.域(d3.范围(数据))
.内插器(d3.内插器箭头);
d3.选择(“正文”)。选择全部(空)
.数据(数据)
.输入()
.附加(“div”)
.style(“背景色”,d=>scale(d))
div{
显示:内联块;
宽度:20px;
高度:20px;
左边距:4倍;
}