d3.js - 带有 svg 渐变的热图颜色图例不起作用
问题描述
将 defs(用于定义)元素附加到 SVG
var defs = svg.append("defs");
//向defs添加一个linearGradient元素并给它一个唯一的id
var linearGradient = defs.append("linearGradient")
.attr("id123", "linear-gradient");
//水平渐变
线性渐变
.attr("x1", "0%")
.attr("y1", "0%")
.attr("x2", "100%")
.attr("y2", "0%");
//建立一个色标
var colorScale = d3.scale.linear().range(["#2c7bb6", "#00a6ca","#00ccbc","#90eb9d","#ffff8c",
"#f9d057","#f29e2e","#e76818","#d7191c"]);
//使用D3的数据添加多个色标/进入步骤
linearGradient.selectAll("停止")
.data( colorScale.range() )
.enter().append("stop")
.attr("offset", function(d,i) { return i/(colorScale.range().length-1); })
.attr("stop-color", function(d) { return d; });
解决方案
推荐阅读
- next.js - 在构建中使用服务器变量进行开发和生产
- flutter - Flutter 模拟 ChangeNotifierProvider 并设置提供程序值
- arrays - 如何分隔字符串并按 C 中的左数对每条记录进行排序
- java - 错误:包 android.support.annotation。不存在
- r - 根据名称聚合列
- reactjs - 在创建反应应用程序时,我收到以下错误或错误
- oracle - 正则表达式函数中的特殊字符问题
- python - 如何将根XML的某些子项连续写入新文件,Python
- java - ProbeEndpointsStrategy:检测到 id 为“httptrace”的重复端点。省略(与 'threaddump' 相同)
- google-cloud-platform - 在 GCP 的 MySQL 数据库迁移服务上使用转储文件时出错:未选择数据库