我目前正在尝试在此示例中注入我自己的数据。见https://bost.ocks.org/mike/miserables/
所以我正在创建自己的 JSON 文件。但我不太了解链接值如何转换为颜色,尤其是对角线。我认为这发生在源代码中:
function row(row) {
var cell = d3.select(this).selectAll(".cell")
.data(row.filter(function(d) { return d.z; }))
.enter().append("rect")
.attr("class", "cell")
.attr("x", function(d) { return x(d.x); })
.attr("width", x.rangeBand())
.attr("height", x.rangeBand())
.style("填充不透明度", function(d) { return z(dz); })
.style("fill", function(d) { return nodes[d.x].group == nodes[d.y].group ? c(nodes[d.x].group) : null; })
.on("mouseover", mouseover)
.on("mouseout", mouseout);
z 属性应该代表链接值,所以这个值越高,矩形的颜色就越深。
所以我的两个问题是:
1)我们知道fill-opacity值在0到1之间,那么link值和fill-opacity值之间的转换是怎么做的呢?是否存在链接值的上限,超过该上限每个链接值都将转换为填充不透明度值 1?
2)关于对角线正方形。它们应该代表角色和他自己之间的链接值(我将称之为“自动链接”)。我注意到在原始 JSON 文件中,没有源等于目标的链接元素,这意味着没有提供有关自动链接值的信息。那么它们是如何计算的呢?我们看到对角线正方形有不同的值,但是它们是如何计算的???当我注入自己的数据时,我还注意到每个对角线正方形的填充不透明度值都等于 1(它们都被完全填充)。奇怪的是,当我为任何自动链接指定一个值时,无论是 0 还是 100,我仍然得到一个完全填充的正方形。
我希望我可以理解,因为英语不是我的母语,我的问题很难用语言表达。
如果有人能以任何方式照亮我,我会非常高兴。
谢谢。