现在一直在干涉这个问题。我在d3中有一个垂直图,我想要做的是创建一个函数addDistortion(),它引用当前的垂直图并使用D3的fisheye.js产生笛卡尔失真。我正在努力实现这样的目标> http://jsfiddle.net/fierval/f4hna/ 在鼠标移动的地方,沿着x轴有一个失真。我试图使用相同类型的失真来处理我的图形,但似乎没有效果。这是迄今为止的工作>
function addDistortion() {
var w = 1000;
var xfisheye = d3.fisheye.scale(d3.scale.identity).domain([0, w]).focus(w/2).distortion(3);
var barWidth = 12;
var t3 = d3.selectAll(".bar");
var t4;
console.log(t3);
//redraw();
t3.on("mousemove", function() {
var mouse = d3.mouse(this);
xfisheye.focus(mouse[0]);
redraw();
});
function redraw() {
t4 = t3.selectAll("rect")//.data(mapData)
.attr("width", xfisheye(barWidth));
}
}
住在> https://jsfiddle.net/akhiforu/o5r01zgm/3/
有人可以帮我弄清楚如何正确地做到这一点吗?