【发布时间】:2012-11-12 21:52:50
【问题描述】:
这是我所拥有的:
http://jsfiddle.net/bozdoz/Q6A3L/
背景栏代码:
maxData = 80000000;
maxHeight = 250;
var yScale = d3.scale.linear().
domain([0, maxData]). // your data minimum and maximum
range([0, maxHeight]); // the pixels to map to, e.g., the height of the diagram.
var riskpoints = [62000000,48000000,30000000];
var rectDemo = d3.select("#chart").
append("svg:svg").
attr("width", 400).
attr("height", maxHeight).
attr('class','risk');
rectDemo.append("svg:rect").
attr("x",0).
attr("y", maxHeight - yScale(riskpoints[0])).
attr("height", yScale(riskpoints[0]) - yScale(riskpoints[1])).
attr("width", '100%').
attr("fill", "rgba(0,100,0,.3)");
rectDemo.append("svg:rect").
attr("x",0).
attr("y", maxHeight - yScale(riskpoints[1])).
attr("height", yScale(riskpoints[1]) - yScale(riskpoints[2])).
attr("width", '100%').
attr("fill", "rgba(100,100,0,.3)");
rectDemo.append("svg:rect").
attr("x",0).
attr("y", maxHeight - yScale(riskpoints[2])).
attr("height", yScale(riskpoints[2])).
attr("width", '100%').
attr("fill", "rgba(100,0,0,.3)");
这正是我想要的,除了我已将红色、黄色、绿色背景条设置为固定高度。
当您使用滑块时,或者更重要的是,当重新生成图表时(它将使用实际数据),我希望背景条调整到正确的高度。
例如,在图像中,绿条介于 300M 和 200M 之间。如果删除除红色(垂直)条之外的所有图形数据,绿色条(水平)刚好在 40M 以上。这是因为背景条的位置/高度不会重新生成,而图形数据的位置/高度是通过人力车javascript重新生成的。
如何将这些数据放入人力车图中以便重新生成?
【问题讨论】:
-
如果我理解你正确的话,至少你应该把它们放在同一个范围内
标签: javascript svg d3.js rickshaw