我想知道是否有人可能能够帮助解决我在NVD3中遇到的问题,其中图表偶尔会被错误地绘制。当我利用标签的切换(即可以显示或隐藏不同线条的位置)时,通常会发生这种情况。结果如下图所示:
最初图表看起来很正常(即单行)。但是,在启用和禁用图表上的其他行后,图像最终会以上面显示的不稳定方式绘制。
如何解决这个问题的任何帮助将不胜感激。我不知道该搜索什么来描述这个问题,如果答案很容易就可以道歉。
答案 0 :(得分:0)
如果有其他人遇到这种情况(实际上不太可能),我会将问题追溯到以下添加的代码行到" mouseover_line"事件(下面已注释):
function mouseover_line(evt) {
var yaxis = data[evt.seriesIndex].yAxis === 2 ? yAxis2 : yAxis1;
// evt.series.values[evt.pointIndex].x = d3.time.format('%x')(new Date(evt.point.x));
// evt.series.values[evt.pointIndex].y = d3.format(',')(evt.point.y);
evt.value = evt.point.x;
evt.series = {
value: evt.point.y,
color: evt.point.color,
key: evt.series.key
};
tooltip
.duration(0)
.valueFormatter(function(d, i) {
return yaxis.tickFormat()(d, i);
})
.data(evt)
.hidden(false);
}
我添加了这些线来修复悬停在线图的标签上(我的线图有一个日期时间x轴和逗号分隔的整数y轴)。添加这些线条后,无论何时打开/关闭系列,所需的额外处理时间都会导致线条完全绘制。
不太确定导致问题的机制是什么,但这些线是根本原因。