- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我正在使用 D3 的 Sankey API 开发一个 Sankey 图,并且我正在尝试弄清楚如何更改进出节点的 strip 或绳索的颜色。可以在此处找到我正在尝试做的示例:
我希望能够单独选择每个波段并选择该波段的颜色。我找不到 D3 的 Sankey API 的任何文档,所以我不知道如何实际实现它。我尝试了通过搜索我提供的链接中的 Sankey 代码找到的 setColors 函数。但是,这似乎不适用于我的代码。我以这段代码为基础开始了我的 Sankey:
http://tamc.github.io/Sankey/examples/simple.html
有人可以告诉我如何使用这个作为引用来改变乐队的颜色吗?
附言如果有人也可以告诉我如何更改节点的颜色,那就太好了!
最佳答案
您链接到的示例在 Sankey 插件之上使用了不同的 API。我会解释 this example . Sankey 插件不绘制视觉元素,它只计算它们的位置,因此您可以随意设置颜色。
例子中链接的相关代码是这样的:
var link = svg.append("g").selectAll(".link")
.data(energy.links)
.enter().append("path")
.attr("class", "link")
.attr("d", path)
.style("stroke-width", function(d) { return Math.max(1, d.dy); })
.sort(function(a, b) { return b.dy - a.dy; });
要更改颜色,只需设置不同的类或显式设置 stroke
:
.style("stroke", "red")
当然这也可以是一个函数,这样你就可以为不同的路径设置不同的颜色。节点类似:
node.append("rect")
.attr("height", function(d) { return d.dy; })
.attr("width", sankey.nodeWidth())
.style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); })
.style("stroke", function(d) { return d3.rgb(d.color).darker(2); })
在示例中,填充颜色是根据名称设置的——您可以根据需要进行调整。
关于javascript - D3 桑基和弦颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439891/
我使用Andrew的d3和弦图示例并希望将弯曲切片内的所有文本标签居中。我尝试了很多东西,但始终无法将文本居中。你知道需要什么巫师技巧吗? var width = 720, height = 720,
我正在尝试实现一个系统,在该系统中我可以同时播放一组频率,目前可以单独播放每个频率。下面我有一个代码,它播放给定的频率,一次播放一个。 import java.applet.*; im
是否可以一次重新映射使用 ctrl+k 作为第一个按键操作的所有和弦? 我使用 ctrl+k 删除该行的其余部分。由于它与 vscode 中使用的最常见和弦冲突,因此通过快捷方式重新映射快捷方式会很不
我是一名优秀的程序员,十分优秀!