Appearance
d3.js-插值器
安装使用npm i d3 --save
两种颜色线性插值
调用方法d3.interpolateRgb,返回一个插值器(函数),输入值为0~1
javascript
var s = d3.interpolateRgb('#DC143C', "#00FF7F")
for (var i = 0; i < 100; i++) {
var Odiv = document.createElement('div')
Odiv.style.backgroundColor = s(i / 100)
document.querySelector('body').appendChild(Odiv)
}值域与颜色映射
调用方法d3.scaleLinear() ,返回一个插值器(函数),输入值为定义域内中值
javascript
var scale = d3.scaleLinear().domain([0, 100, 200]).range(["red", "yellow", "green"]);
for (var i = 0; i < 200; i++) {
var Odiv = document.createElement('div')
Odiv.style.backgroundColor = scale(i)
document.querySelector('body').appendChild(Odiv)
}数值域与数值域映射
javascript
var numberScale = d3.scaleLinear().domain([0, 100, 200])
.range([100,200,500]);
console.log(numberScale.invert(400))d3自定义颜色-schema
用于定量,序数和分类比例尺的颜色渐变和调色板
Categorical
- d3.schemeCategory10 -
- d3.schemeAccent -
- d3.schemeDark2 -
- d3.schemePaired -
- d3.schemePastel1 -
- d3.schemePastel2 -
- d3.schemeSet1 -
- d3.schemeSet2 -
- d3.schemeSet3 -
Diverging
- d3.interpolateBrBG -
- d3.interpolatePiYG -
- d3.interpolatePRGn -
- d3.interpolatePuOr -
- d3.interpolateRdBu -
- d3.interpolateRdGy -
- d3.interpolateRdYlBu -
- d3.interpolateRdYlGn -
- d3.interpolateSpectral -
- d3.schemeBrBG -
- d3.schemePiYG -
- d3.schemePRGn -
- d3.schemePuOr -
- d3.schemeRdBu -
- d3.schemeRdGy -
- d3.schemeRdYlBu -
- d3.schemeRdYlGn -
- d3.schemeSpectral -
Sequential (Single Hue)
- d3.interpolateBlues -
- d3.interpolateGreens -
- d3.interpolateGreys -
- d3.interpolateOranges -
- d3.interpolatePurples -
- d3.interpolateReds -
- d3.schemeBlues -
- d3.schemeGreens -
- d3.schemeGreys -
- d3.schemeOranges -
- d3.schemePurples -
- d3.schemeReds -
Sequential (Multi-Hue)
- d3.interpolateBuGn -
- d3.interpolateBuPu -
- d3.interpolateCool -
- d3.interpolateCubehelixDefault -
- d3.interpolateGnBu -
- d3.interpolateInferno -
- d3.interpolateMagma -
- d3.interpolateOrRd -
- d3.interpolatePlasma -
- d3.interpolatePuBu -
- d3.interpolatePuBuGn -
- d3.interpolatePuRd -
- d3.interpolateRdPu -
- d3.interpolateViridis -
- d3.interpolateWarm -
- d3.interpolateYlGn -
- d3.interpolateYlGnBu -
- d3.interpolateYlOrBr -
- d3.interpolateYlOrRd -
- d3.schemeBuGn -
- d3.schemeBuPu -
- d3.schemeGnBu -
- d3.schemeOrRd -
- d3.schemePuBu -
- d3.schemePuBuGn -
- d3.schemePuRd -
- d3.schemeRdPu -
- d3.schemeYlGn -
- d3.schemeYlGnBu -
- d3.schemeYlOrBr -
- d3.schemeYlOrRd -
Cyclical
- d3.interpolateRainbow - the “less-angry” rainbow
- d3.interpolateSinebow - 正弦顺滑的彩虹