D3.js 带D3的滑动值选择器

D3.js 带D3的滑动值选择器,d3.js,D3.js,如何使用d3创建如上所述的滑动值选择器。我不需要精确的答案,但如果有人能给我指出正确的方向。我是d3新手,只知道画线、矩形、圆等基础知识 在上面的图片中,圆圈可以从左向右拖动,并从0到100进行更新 任何非d3解决方案都可以。我认为d3 fishey插件可以满足您的需要: 在这里,您可以找到一个示例,其中鱼眼区域放在一个圆圈内,可能是滑块的旋钮: 可以通过以下代码段来确定起点: (函数(){ d3.鱼眼={ scale:函数(scaleType){ 返回d3_鱼眼刻度(scaleType(

如何使用d3创建如上所述的滑动值选择器。我不需要精确的答案,但如果有人能给我指出正确的方向。我是d3新手,只知道画线、矩形、圆等基础知识

在上面的图片中,圆圈可以从左向右拖动,并从0到100进行更新


任何非d3解决方案都可以。

我认为d3 fishey插件可以满足您的需要:

在这里,您可以找到一个示例,其中鱼眼区域放在一个圆圈内,可能是滑块的旋钮:

可以通过以下代码段来确定起点:

(函数(){
d3.鱼眼={
scale:函数(scaleType){
返回d3_鱼眼刻度(scaleType(),3,0);
},
循环:函数(){
var半径=200,
畸变=2,
k0,
k1,
焦点=[0,0];
功能鱼眼(d){
var dx=d.x-焦点[0],
dy=d.y-焦点[1],
dd=数学sqrt(dx*dx+dy*dy);
如果(!dd | | dd>=半径)返回{x:d.x,y:d.y,z:1};
变量k=((k0*(1-数学表达式(-dd*k1)))/dd)*0.75+0.25;
返回{
x:focus[0]+dx*k,
y:focus[1]+dy*k,
z:数学,min(k,10)
};
}
函数重缩放(){
k0=数学表达式(失真);
k0=(k0/(k0-1))*半径;
k1=变形/半径;
返回鱼眼;
}
鱼眼半径=函数{
if(!arguments.length)返回半径;
半径=+;
返回重新缩放();
};
fisheye.deformation=函数{
if(!arguments.length)返回失真;
失真=+;
返回重新缩放();
};
fisheye.focus=函数(389;){
如果(!arguments.length)返回焦点;
焦点=u;
返回鱼眼;
};
返回重新缩放();
}
};
功能d3_鱼眼_刻度(刻度,d,a){
功能鱼眼{
var x=标度(ux),
左=xd[0].x)
.attr('x2',d=>d[1].x)
.attr('y1',d=>d[0].y)
.attr('y2',d=>d[1].y)
.attr(“笔划”、“黑色”)
.attr(“类”、“行”);
设fisheye=d3.fisheye.circular()
.半径(30)
.畸变(50);
circle.attr('r',fisheye.radius());
g、 on('mousemove',function(){
fisheye.focus(d3.mouse(this));
设r=鱼眼半径();
线
.attr(“x1”,函数(d){return fisheye(d[0]).x;})
.attr(“y1”,函数(d){return fisheye(d[0]).y;})
.attr(“x2”,函数(d){返回鱼眼(d[1]).x;})
.attr(“y2”,函数(d){返回鱼眼(d[1]).y;});
})

我认为d3 fishey插件可以满足您的需要:

在这里,您可以找到一个示例,其中鱼眼区域放在一个圆圈内,可能是滑块的旋钮:

可以通过以下代码段来确定起点:

(函数(){
d3.鱼眼={
scale:函数(scaleType){
返回d3_鱼眼刻度(scaleType(),3,0);
},
循环:函数(){
var半径=200,
畸变=2,
k0,
k1,
焦点=[0,0];
功能鱼眼(d){
var dx=d.x-焦点[0],
dy=d.y-焦点[1],
dd=数学sqrt(dx*dx+dy*dy);
如果(!dd | | dd>=半径)返回{x:d.x,y:d.y,z:1};
变量k=((k0*(1-数学表达式(-dd*k1)))/dd)*0.75+0.25;
返回{
x:focus[0]+dx*k,
y:focus[1]+dy*k,
z:数学,min(k,10)
};
}
函数重缩放(){
k0=数学表达式(失真);
k0=(k0/(k0-1))*半径;
k1=变形/半径;
返回鱼眼;
}
鱼眼半径=函数{
if(!arguments.length)返回半径;
半径=+;
返回重新缩放();
};
fisheye.deformation=函数{
if(!arguments.length)返回失真;
失真=+;
返回重新缩放();
};
fisheye.focus=函数(389;){
如果(!arguments.length)返回焦点;
焦点=u;
返回鱼眼;
};
返回重新缩放();
}
};
功能d3_鱼眼_刻度(刻度,d,a){