d3.js - How to do transition as expected with axis in D3 -


all:

i pretty new d3 transition, wonder how can not apply length transition on axis tick lines when switch data?

my code like:

var data1 = [1,2,3,4]  var data2 = [1,4,8,12]    function draw(data){    	var svg = d3.select(".chart svg");  	if(svg.empty()){  		svg = d3.select(".chart")  				.append("svg");  		svg.append("g")  		.classed("yaxis", true)  	}  	svg.attr("width", 400)  				.attr("height", 300);  	var axisg = svg.select("g.yaxis")  		.attr("transform", function(){  			return "translate(40, 20)";  		})  	var scale = d3.scale.linear();  	scale.domain(d3.extent(data)).range([300-40, 0]);  	var axis = d3.svg.axis();  	axis.scale(scale).orient("left")/*.ticks(5)*/;  	axisg.transition().duration(1500).ease("sin-in-out").call(axis)  	.selectall("line")  			.attr("x2", 300-40)  			.style("stroke", "black")  			.style("stroke-width", "1px");  	axisg.select("path").style("fill", "none")    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>  <button onclick="draw(data1)">data1</button>  <button onclick="draw(data2)">data2</button>    <div class="chart"></div>


Comments

Popular posts from this blog

Delphi XE2 Indy10 udp client-server interchange using SendBuffer-ReceiveBuffer -

Qt ActiveX WMI QAxBase::dynamicCallHelper: ItemIndex(int): No such property in -

python - cx_oracle unable to find Oracle Client -