Javascript D3.js具有相同记号位置的多个y轴?

Javascript D3.js具有相同记号位置的多个y轴?,javascript,d3.js,charts,nvd3.js,Javascript,D3.js,Charts,Nvd3.js,我有三个y轴和一个x轴的图表,必须缩放所有三个轴 !! 是否可以将所有3个y轴的中心设置为0?如果我缩放图表,刻度必须保持在同一位置 或者,可以说“在0-value之间始终只显示10个刻度”。 例如: 范围1->[10..0..-10] 范围2->[350..0..-350] 范围3->[0,1..0..0,9] 但所有3个范围的所有刻度必须保持在相同的位置 更新 //缩放 var zoom0=d3.behavior.zoom().x(x).y(_y[0])。打开(“缩放”,缩放);

我有三个y轴和一个x轴的图表,必须缩放所有三个轴

!!


是否可以将所有3个y轴的中心设置为0?如果我缩放图表,刻度必须保持在同一位置

或者,可以说“在0-value之间始终只显示10个刻度”。 例如:
范围1->[10..0..-10]
范围2->[350..0..-350]
范围3->[0,1..0..0,9]

但所有3个范围的所有刻度必须保持在相同的位置


更新

//缩放
var zoom0=d3.behavior.zoom().x(x).y(_y[0])。打开(“缩放”,缩放);
var zoom1=d3.behavior.zoom().y(_y[1]);
var zoom2=d3.behavior.zoom().y(_y[2]);
***
函数缩放(){
zoom1.scale(zoom0.scale());
zoom1.translate(zoom0.translate());
zoom2.scale(zoom0.scale());
zoom2.translate(zoom0.translate());
图形。选择(“.x.axis”)。调用(xAxis);
对于(变量i=0;i<_y.length;i++){
图形选择(“.y.ax”+i).call(_yAxis[i]);
选择('.line.ax'+i).attr('d',_lineGenerator(i));
}
}

更新v3:


更新v4:

是否可以在y轴上的刻度之间设置填充?或者最好说“禁用刻度之间的距离,并将其设置为固定值”

.tickValues() - doesn't help in this case...
函数创建Y轴(){
变量键、当前键索引、前域、后域、最小值、最大值、索引;
对于(变量i=0;i

更新v5:

这就是我需要的:

我在没有d3.axis的情况下创建了这3个y轴。***,但这个解决方案非常糟糕:),我将在图表中使用D3API

请帮帮我



这是修改后的代码,以使刻度在0处对齐。代码中注释了一些需要注意的更改:

//***

主要的变化是,如果希望刻度线在零处对齐,并且在所有三个轴上零上零下的刻度线数量相同,则域的中心应为零

我在每次缩放/平移时重新生成刻度值,显示最小值、最大值和等距值。您可能需要进行一些舍入,或者如果零位于可见域中,则强制零为刻度值


身体{
背景:#fff;
文本对齐:居中;
位置:相对位置;
}
.行{
边缘顶部:25px;
边缘底部:25px;
}
.tooltipX{
位置:绝对位置;
文本对齐:居中;
填充:10px;
边界半径:15px;
边框:1px实心#000;
利润上限:-20px;
字体:10px无衬线;
背景:rgba(0,0,0,0.1);
指针事件:无;
显示:块;
}
svg{
背景:#e8e8e8;
}
svg.title{
字体大小:16px;
填写:#000;
字号:700;
}
svg.字幕{
字体大小:12px;
字号:500;
填写:#000;
笔画宽度:1px;
笔划线头:对接;
笔划线条连接:斜接;
}
轴{
填写:#000;
指针事件:全部;
}
轴文本{
字体系列:无衬线;
字体大小:11px;
}
轴路径{
填充:无;
笔画宽度:1;
行程:#000;
形状渲染:边缘清晰;
}
轴线{
填充:无;
笔画宽度:1;
行程:#000;
形状渲染:边缘清晰;
}
svg.line{
笔画宽度:1;
填充:无;
}
svg.grid.tick{
笔画宽度:1;
笔划:rgba(0,0,0,0.1);
}
svg.图例{
光标:指针;
}
svg.overlay{
填充:无;
指针事件:全部;
}
svg.x.axis.tick line{
笔划:rgba(0,0,0,0.1);
}
svg.y.axis.tick line{
行程:#f00;
}
(功能(窗口){
"严格使用",;
var=10;
//--------------------------------------------------
//生成D3随机颜色
var colorscale=d3.scale.category20();
var图表={
“选择”:{
“图表”:{
“名称”:“名称”,
“说明”:”
}
},
“传奇”:{
“启用”:正确,
“useName”:true
},
“表演”:{
“标题”:正确,
“描述”:正确,
“yGrid”:真的吗
},
“缩放”:{
“启用”:正确,
“resetBtnId”:“#btnResetZoom”
},
“光标”:{
“启用”:真
},
“系列”:[],
“yGridBtnId”:“#btnYGrid”
};
//准备选项
变量选项={
“图表”:{
“头衔”:“我的头衔”,
“描述”:“我的描述”
}
};
//准备系列
变量系列=[
{
“频道”:{
“姓名”:“我的姓名”,
“代码”:“codeXY”
},
“统计”:{
“最小值”:-6.99796,
“minTime”:0.01225,
“最大值”:0.110055,
“最大时间”:0.01755
},
“单位”:“酒吧”,
“单位数据”:数据001
},
{
“频道”:{
“姓名”:“我的姓名2”,
“代码”:“代码操作”
},
“统计”:{
“最小值”:-310.51,
“minTime”:0.0472,
“最大”:191.675,
“最大时间”:0.1282
},
“单位”:“N”,
“单位数据”:数据036
},
{