如何在d3.jS中为Sankey图的链接添加第二个值:
How to add a second value to the links of a Sankey diagram in d3.jS :
D3.JS中的Sankey图采用节点和链接的数据集来绘制(参见http://jsfiddle.net/mF27g/by VividD的一个示例)。数据集看起来像:
{
"nodes": [{"node": 0, "name": "node0"},
{"node": 1, "name": "node1"},
{"node": 2, "name": "node2"},
{"node": 3, "name": "node3"},
{"node": 4, "name": "node4"},
{"node": 5, "name": "node5"}]...,
"links": [{"source": 0, "target": 2, "value": 25},
{"source": 1, "target": 2, "value": 5},
{"source": 1, "target": 3, "value": 20},
{"source": 2, "target": 4, "value": 29},
{"source": 2, "target": 5, "value": 1},
{"source": 3, "target": 4, "value": 10},
{"source": 3, "target": 5, "value": 2}...]
}
在我的例子中,我有一个稍微不同的数据集来表示。不同之处在于"links"集合,这里我有两个"value"而不是一个"value",例如:
"links": [{"source": 0, "target": 2, "value1": 15, "value2": 10},
{"source": 1, "target": 2, "value1": 2, "value2": 3},
{"source": 1, "target": 3, "value1": 10, "value2": 10},
{"source": 2, "target": 4, "value1": 20, "value2": 9},...
我的问题是:如何将每个链接分成两个部分?理想情况下,我想用不同的颜色为每个部分着色。一共有两种颜色,一种用于value1,一种用于value2。
任何想法?
我不确定你想要什么是可能的,但首先你可以使用不同的JSON字段在工具提示中添加第二个值。
:
{
"source": 2,
"target": 5,
"value": 1,
"value2": 10
}
等。
link.append("title")
.text(function(d) {
return d.source.name + " → " + d.target.name + "'n" +
format(d.value) + "'n value 2: " +
format(d.value2);
});
相关文章:
- 正在链接添加了以下内容::在之后
- 将超链接添加到“;标题“;标记文本
- 将重定向URL链接添加到JS函数
- 如何将超链接添加到通过传单创建的传单多段线.Draw
- 将数据库中的超链接添加到查询结果
- jQuery regex从文本链接-添加不需要的域到链接
- 将href链接添加到通过js鼠标悬停显示的图像
- 三.js - 自 r69 以来如何链接/添加相机灯
- 如何向超链接添加变量值
- 使用JavaScript向链接添加参数
- 知道点击了什么链接添加到数据库中
- 向asp.net生成的链接添加确认javascript
- 使用AJAX将AJAX链接添加到页面Yii
- 如何仅为特定URL向超链接添加属性
- 如何在javascript中将下一个和上一个链接添加到当前滑块
- 如何通过Jquery点击链接添加输入
- 将带有单击事件的超链接添加到 Dojo 网格
- OpenCart - 通过链接添加产品
- 使浏览器为我的链接添加书签
- 使用 JavaScript 向一组链接中的第一个链接添加一个属性