How to add text to a raphael js element

pahnin picture pahnin · Nov 15, 2011 · Viewed 15.9k times · Source

I want to add text to a element in raphael js, I have added text with

r.text(30, 20, "ellipse").attr({fill: color});

But how to add this text to

ec = r.ellipse(190, 100, 30, 20);

regards

Answer

Anurag Uniyal picture Anurag Uniyal · Nov 15, 2011

Raphael does not have child/parent relationship between elements, so you will set same position for them e.g.

ec = paper.ellipse(190, 100, 30, 20);
paper.text(190, 100, "ellipse").attr({fill: '#ff0000'});

So if you want a ellipse with text, create your own JavaScript object which handles positioning of both.

or alternate way is to group elements via set e.g.

var eltext = paper.set();
el = paper.ellipse(0, 0, 30, 20);
text = paper.text(0, 0, "ellipse").attr({fill: '#ff0000'})
eltext.push(el);
eltext.push(text);
eltext.translate(100,100)