i have graph : http://jsfiddle.net/thatoneguy/rt65l/94/
i can't seem figure out how same scale in both x , y. need same distance between ticks on both need x axis 600px long , y axis 300px high.
i have tried calling same scale x scale big y. ideas ?
<svg id='svgcontainer' width="1000" height="700"> </svg> var container = d3.select('#svgcontainer') .style('stroke', 'red') var width = 600, height = 300; var xscale = d3.scale.linear() .range([0, width]); var yscale = d3.scale.linear() .range([0, height]); var xticks = width/50; var yticks = height/50; var xaxis = d3.svg.axis() .scale(xscale) .innerticksize(-(height)) // vertical grid lines .outerticksize(0) .orient("bottom") .ticks(xticks); var yaxis = d3.svg.axis() .scale(yscale) .innerticksize(-(width)) // horizontal grid lines .outerticksize(0) .orient("left") .ticks(yticks); container.append("g") .attr("class", "x axis") .attr("transform", "translate(50," + (height+20) + ")") .call(xaxis) container.append("g") .attr("class", "y axis") .attr("transform", "translate(50,20)") .call(yaxis)
if don't set domain, d3 automatically set [0, 1]
. so, believe that, in case, it's matter of setting domains:
var xscale = d3.scale.linear() .range([0, width]) .domain([0,1]); var yscale = d3.scale.linear() .range([height, 0]) .domain([0,0.5]);
here fiddle: http://jsfiddle.net/gerardofurtado/rt65l/96/
Comments
Post a Comment