小编hel*_*son的帖子

nvd3.js图表​​ajax数据重绘 - 缺少hovereffect +前yAxis规模

我正在使用nvd3绘制一个简单的折线图,其中数据通过ajax请求接收.它与第一个绘图请求完美配合,但不能重绘.图表通过调用相同的绘图函数重绘,但具有不同的数据+不同的最大/最小值.

使用新数据重新绘制图表时,不会出现"悬停圈",而工具提示会出现.此外,当单击图表的图例并强制重绘时,再次出现悬停,但yAxis的值将更改为第一个绘制图表的值.

到目前为止,我假设重绘图表时仍保留旧的最大/最小值 - 但仅涉及"悬停"效果.到目前为止,一般图表在重绘时看起来很好 - 问题只是面向悬停而且就是这样.

听起来很混乱,但希望你能明白这一点.

一些代码:

 d3.json(queryurl, function(data2){
  nv.addGraph(function(jsonData) {
    if(chart){
       chart.remove();
    }
    chart = nv.models.lineChart()
                .x(function(d) { return d[0] })
                .y(function(d) { return d[1] })
                .color(d3.scale.category10().range());

    chart.xAxis
        .tickFormat(function(d) {
            return d3.time.format('%x')(new Date(d)) 
        });

    chart.yAxis
        .scale()
        .tickFormat(d3.format(''));

    chart.lines.yDomain([maxmin.max,maxmin.min]);

    d3.select('#chart1 #chartsvg')
      .datum(data2)
      .transition().duration(600)
      .call(chart);

    nv.utils.windowResize(chart.update);

});

});
  return chart;}
Run Code Online (Sandbox Code Playgroud)

ajax hover redraw d3.js nvd3.js

8
推荐指数
1
解决办法
7601
查看次数

标签 统计

ajax ×1

d3.js ×1

hover ×1

nvd3.js ×1

redraw ×1