2016-06-27 5 views
0

D3グラフの軸上の値に対応する画素で高さを計算します緑。私は次のようにこれを行うことができます:次のように私はD3の棒グラフを有する

.attr("fill", function(d) { return (d.the_value > 0.65 ? "green" : "orange"); }) 

素晴らしい作品です。しかし、水平バー自体の高さは、プロットの高さを使用して設定されています。

svg.append("line")   
    .style("stroke", "black") 
    .attr("x1", 0)  
    .attr("y1", height/2)  
    .attr("x2", 600) 
    .attr("y2", height/2); 

値0.65を使用して水平バーの高さを設定したいとします。軸上の0.65に対応する高さをピクセルで取得するにはどうすればよいですか?

答えて

1

私はあなたが

yScale = d3.scale() 
    .domain(...) 
    .range([0, 600]) 

のような、あなたがサイズと位置にバーを使用することを、あなたのコード内で何かを持っていると推定。あなたはyScale(0.65)を使用して後にしているy座標を得ることができる規模で

。すなわち:

svg.append("line")   
.style("stroke", "black") 
.attr("x1", 0)  
.attr("y1", yScale(0.65))  
.attr("x2", 600) 
.attr("y2", yScale(0.65)); 
+0

パーフェクトはあなたに感謝します! – Cybernetic

関連する問題