javascript - D3根据节点名称改变颜色
问题描述
我有一个使用 D3 的可缩放旭日形图像,现在我想更改颜色。我正在可视化一些日志数据,因此它具有类似or的success
错误代码。我想将成功部分涂成绿色,错误部分涂成红色。默认情况下,以下代码用于选择颜色BAERROR001
BAERROR002
var color = d3.scaleOrdinal().range(d3.quantize(d3.interpolateRdYlGn, data.children.length + 1));
和
const path = g.append("g")
.selectAll("path")
.data(root.descendants().slice(1))
.enter().append("path")
.attr("fill", d => { while (d.depth > 1) d = d.parent; return color(d.data.name); })
.attr("fill-opacity", d => arcVisible(d.current) ? (d.children ? 0.6 : 0.4) : 0)
.attr("d", d => arc(d.current));
对于成功,我的节点的名称为成功,对于错误,它将是相应的错误代码。我正在尝试使用分类颜色,但它没有按预期工作。我使用的代码如下:
var color = d3.scaleOrdinal().domain([1, 10])
.range(["green", "red"])
如何根据name
已通过的颜色选择颜色?
解决方案
推荐阅读
- java - 调用命令出错!使用 Maven Cargo 将战争部署到 WebSphere Liberty 服务器时
- mysql - 更改选择列会使查询变慢
- python - TypeError: schema 应该是 StructType 或 list 或 None
- python - python中方法优于函数的好处
- spring - Spring @Transactional 一次处理一个方法
- python - 给定3点计算圆(代码说明)
- c# - 计算除空白之外的唯一符号
- javascript - Microsoft 语音服务 Javascript SDK 超时
- java - 泽西客户端的测试用例失败
- javascript - 我不知道如何从 DOM (JavaScritp) 中获取数字