Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to move SVG's position in D3?

I created a svg using D3. However, it only shows up on the upper left conner of the screen, or been appended to another svg. Are there anyway I can move it using JavaScript? For example:

  var svg = d3.select("body").append("svg")
    .attr("width", 200)
    .attr("height", 200);
like image 585
Photunix Avatar asked Jan 30 '15 08:01

Photunix


3 Answers

Using d3js + Jquery :

// svg design
var svg = d3.select("#chart").append("svg")
    .attr("width", 200)
    .attr("height", 200);

// svg repositioning
$("svg").css({top: 200, left: 200, position:'absolute'});

Or

// svg align center
d3.select("#chart").attr("align","center"); //  thanks & +1 to chaitanya89

Live demo

like image 153
Hugolpz Avatar answered Oct 28 '22 02:10

Hugolpz


Instead of appending SVG to the body, append it to a html element like <div> and add style to it.

Javascript:

var svg = d3.select("#chart").append("svg")
.attr("width", 200)
.attr("height", 200);

HTML: add this to your body tag.

<div id="chart" align="center"></div>

If you want to align svg using javascript, remove align attribute in the above <div> tag and add the following in your javascript.

document.getElementById("chart").align = "center";

Alternatively, You could also do it using D3.

d3.select("#chart")
.attr("align","center");
like image 8
chaitanya89 Avatar answered Oct 28 '22 04:10

chaitanya89


Before you need append any SVG object to apply the transition on canvas.

The tutorial step-by-step below show you, in practice, each property of method Transition from D3js.

http://blog.visual.ly/creating-animations-and-transitions-with-d3-js/

Enjoy!

like image 3
Fernando Santucci Avatar answered Oct 28 '22 03:10

Fernando Santucci