vtk.js

vtk.js


颜色插值函数-d3

<pre><code class="language-javascript">/** * 计算颜色插值 * @param {*} colors 颜色数组 * @param {*} value 当前值 * @param {*} min 最小值 * @param {*} max 最大值 * @returns */ export function interpolateColor(colors, min, max) { const ColorIndex = d3.interpolateNumber(0, colors.length - 1); const scale = d3.scaleLinear().domain([min, max]).range([0, 1]); return function (value, format) { let valueMap = scale(value); if (valueMap &amp;gt; 1) { valueMap = 1; } if (valueMap &amp;lt; 0) { valueMap = 0; } const index = ColorIndex(valueMap); const startIndex = Math.floor(index); const endIndex = Math.ceil(index); if (startIndex === endIndex) { return format &amp;amp;&amp;amp; format === 'hex' ? rgbToHex(d3.rgb(colors[startIndex])) : d3.rgb(colors[startIndex]); } else { const colorSplit = d3.interpolateRgb(colors[startIndex], colors[endIndex]); const calc = index - startIndex; return format &amp;amp;&amp;amp; format === 'hex' ? rgbToHex(d3.rgb(colorSplit(calc))) : d3.rgb(colorSplit(calc)); } }; }</code></pre>

页面列表

ITEM_HTML