如果要使用紫罗兰色–靛蓝–蓝色–绿色–黄色–橙色–红色刻度,可以将d3.interpolateRainbow
与顺序刻度一起使用。
然后,像其他连续刻度一样,使用最小值和最大值设置域。
这是一个基本示例。假设此数据:
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,36];
const scale = d3.scaleSequential()
.domain(d3.extent(data))
.interpolator(d3.interpolateRainbow);
d3.select("body").selectAll(null)
.data(data)
.enter()
.append("div")
.style("background-color",d => scale(d))
div {
display: inline-block;
width: 20px;
height: 20px;
margin-left: 4px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
请记住,此比例尺不适用于您链接的特定示例,因为它使用的是旧的D3 v3。
本文链接:https://www.f2er.com/3161512.html