2016-06-27 32 views
0

我有一個D3條形圖如下像素高度:計算對應於一個值上D3曲線圖的軸

enter image description here

欲顏色通過水平線的顏色的條綠色。我可以做到這一點如下:

.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座標。 I.e .:

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

完美謝謝! – Cybernetic