我试图在d3中将多个多边形转换为按钮。我需要每个多边形具有不同的滚动/滚出/点击操作。 我绘制多边形是这样的:在d3中使用不同滚动操作的多个多边形
poly = [coordinates];
poly2 = [coordinates];
//drawing polygons
chart.selectAll("polygon")
.data([poly, poly2])
.enter().append("polygon")
.attr(... //attributes go here
//I add functionality below
.on("mouseover", function (d) {
chart.selectAll("polygon")
.attr("fill","orange");
})
.on("mouseout" , function (d) {
chart.selectAll("polygon")
.attr("fill","steelblue");
});
这适用于所有的“鼠标...”影响到所有多边形。为每个多边形分配不同的“鼠标...”动作的最佳方法是什么?例如,我希望poly
在鼠标悬停时将颜色切换为orange
,但在鼠标悬停时poly2
将变为red
。 这是我的fiddle with the polygon "buttons",但我只能将相同的动作分配给两个多边形。你可以做这样的事情
谢谢,它的伟大工程!但是如果我想添加'。对( “鼠标悬停”,loadnewdata)''那里功能loadnewdata(){\t chart.select(”线 “) \t \t .datum(数据) \t \t .attr(”类“,”行“) \t \t .attr(”d“,newdata);}'将新数据加载到其中一个图表上?是否有可能使用相同的方法? –
是的,它会工作... – Cyril
我将如何分配一个函数'loadnewdata'到'poly'属性?我在分配颜色后尝试类似'loadnewdata:“loadnewdata”',但它不起作用 –