2017-10-09 74 views
1

我在折線圖中繪製了一些線條。如果y軸上的任何值超過250或-250,我希望已經繪製的線條被調整大小。我該怎麼做?調整條形圖中現有的行的大小

enter image description here

function display(data){ 


    var maxY = d3.max(data, function(c) { 
    return d3.max(c.values, function(d) { 
     return Math.abs(d.corriente); 
    }); 
    }); 

if(maxY>limit){ 
    y.domain([-maxY, maxY]); 

    svg.select(".axisX") 
    .transition() 
    .duration(750) 
    .ease("sin-in-out") 
    .call(xAxis); 

    svg.select(".axisY") 
    .transition() 
    .duration(750) 
    .ease("sin-in-out") 
    .call(yAxis); 
} 


    var path = g.selectAll(null) 
    .data(oData, function(d) { return d.ciclo; }) 
    .enter() 
    .append("path") 
    .attr("d", function(d) { 
     return line(d.values) 
    }) 
    .attr("class", function(d) { 
     return "line " + d.ciclo; 
    }) 

    path.each(function(d) { 
    var totalLength = this.getTotalLength(); 
    d3.select(this) 
     .attr("stroke-dasharray", totalLength + " " + totalLength) 
     .attr("stroke-dashoffset", totalLength) 
     .transition() 
     .duration(4000) 
     .attr("stroke-dashoffset", 0); 
    }) 

} 
display(oData); 

http://plnkr.co/edit/4a4XqScCfjTN4gM6YyOo?p=preview

回答

1

您需要更新現有的路徑:

g.selectAll(".line") 
    .transition() 
    .duration(750) 
    .attr("d", function(d) { 
     return line(d.values) 
    }) 

這裏是更新plunker:http://plnkr.co/edit/w0INQyy3hEcuzvP5J8FR?p=preview

+0

太棒了!趁機問你一件事爲什麼每一行之間都有空白? – yavg

+0

你檢查了你的數據嗎? –

+0

是............. – yavg