2017-10-09 10 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

は、既存のパスを更新する必要があります:http://plnkr.co/edit/w0INQyy3hEcuzvP5J8FR?p=preview

+0

素晴らしい:

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

が更新plunkerです!あなたに何かを尋ねる機会を取るなぜ各行の間に空白があるのですか? – yavg

+0

あなたのデータをチェックしましたか? –

+0

はい............. – yavg

関連する問題