Javascript 图表中的nvd3数据孔
我正在显示一个图表,其中过去的数据由条形图(观察值)表示,未来的数据由直线(预测值)表示。这是两组独立的数据 x轴使用日期,y轴使用浮点值 我的问题是,例如,过去的预测线有一个洞。第一批观测数据是5天前。因此,从这个日期到现在,我没有预测值。如果我什么都不做,这些线就会延伸到整个图表 我手动添加了一些虚假数据,通过迭代所有观测数据,并仅将数据推送到预测Javascript 图表中的nvd3数据孔,javascript,d3.js,nvd3.js,angular-nvd3,Javascript,D3.js,Nvd3.js,Angular Nvd3,我正在显示一个图表,其中过去的数据由条形图(观察值)表示,未来的数据由直线(预测值)表示。这是两组独立的数据 x轴使用日期,y轴使用浮点值 我的问题是,例如,过去的预测线有一个洞。第一批观测数据是5天前。因此,从这个日期到现在,我没有预测值。如果我什么都不做,这些线就会延伸到整个图表 我手动添加了一些虚假数据,通过迭代所有观测数据,并仅将数据推送到预测 .push({ date: observations.date }) 我的问题是,我仍然会看到带有NaN 以下是图表中的选项 chart:
.push({ date: observations.date })
我的问题是,我仍然会看到带有NaN
以下是图表中的选项
chart: {
type: "linePlusBarChart",
focusEnable: false,
margin: {
top: 50,
right: 50,
bottom: 30,
left: 70
},
xAxis: {
staggerLabels: true,
tickFormat: function(d) {
return dateFormat(new Date(d));
},
showMaxMin: false
},
y1Axis: {
tickFormat: function(d) {
return d3.format('.02f')(d);
}
},
y2Axis: {
tickFormat: function(d) {
return d3.format('.02f')(d);
}
},
bars: {
forceY: [0]
},
lines: {
forceY: [0]
},
x: function(d) {
return d.date.millis;
},
y: function(d) {
return d.value;
},
duration: 500
}
如何隐藏这些工具提示?有没有其他方法来填补这些数据漏洞
编辑
我还尝试添加{date:observations.date,value:null}
,但它会在底部显示带有0
值的行
编辑2
我还试图更改y
功能
y: function(d) {
if(d.value === undefined) return null;
return d.value;
}
但是我也有同样的问题,只需使用工具提示valueFormatter来处理NaN值。e、 下面是我在类似情况下所做的
multiChart.interactiveLayer.tooltip.valueFormatter((value, i, datum) => {
if (
datum.key === keyForActualGreaterThanPredicted ||
datum.key === keyForActualLessThanPredicted
) {
const diff = Math.abs(datum.data.y0 - datum.data.y1);
if (diff === 0) {
return '-';
}
return diff;
}
return value;
});
我不能让它工作。它甚至没有进入函数内部。您使用的是什么代码?上面的代码不可复制,因为它特定于我配置图表的方式,但您应该能够遵循类似的方法。