d3.js html显示图片,d3.js v4:如何在鼠标点击节点后显示图像

在使用d3.js时仍然相当缺乏经验,我碰到了一个障碍。 希望有人能帮助我。d3.js v4:如何在鼠标点击节点后显示图像

我试图在鼠标单击图形中的节点时显示图片。 理想情况下,我想单击几个节点并显示图像。双击节点应该删除图像。点击背景将删除所有显示的图像。但一次只能一步。

我到目前为止所做的是: 成功使用工具提示。当鼠标点击它时,我也能够改变圆形节点的大小。

我用作玩具项目迈克·博斯托克的力导向图示例:https://bl.ocks.org/mbostock/4062045。基于Web的,我能够将图片添加到所有节点上的例子 我使用d3.js v4的

我试图调整这个例子来我的需求。首先我说:

var defs = svg.append('defs');

进一步:

var node = svg.append("g")

.attr("class", "nodes")

.selectAll("circle")

.data(graph.nodes)

.enter()

.append("circle")

.attr("r", 5)

.attr("fill", function(d) { return color(d.group); })

.call(node_drag)

.on("click", function(d){

defs.append("pattern")

.attr("x", 0)

.attr("y", 0)

.attr("width", 12)

.attr("height", 12)

.append("image")

.attr("xlink:href", 'https://assets-cdn.github.com/images/modules/open_graph/github-octocat.png')

.attr("width", 12)

.attr("height", 12)

.attr("x", 0)

.attr("y", 0);

})

在我的浏览器的HTML表示图像添加:

rZTxO.png

但图像没有在显示浏览器。

在这一点上,我转向你,希望得到一些提示,我点击鼠标光标时如何完成将图像显示为节点。

任何输入被高度赞赏, 马库斯

2017-10-14

Markus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值