 <p>I had Problems with the automatic positioning of X-Axis labels. Positioning of rotated Text would be a good place to start. To give you an example what would not work - here is the function I found for simulating the getBBox() functionality:</p> <pre><code> ep = Element.prototype; ep.getBBox = function() { var w = 10; if (ep.tagName == "TEXT" &amp;&amp; ep.firstChild) { var s = ep.firstChild.innerHTML; w = s.length * 5; } return { x : ep.offsetLeft ? ep.offsetLeft : 0, y : ep.offsetTop ? ep.offsetTop : 0, width : w, height : 16 }; }; </code></pre> <p>As you see it is pretty barebones - just approximates Textlength and returns a default width and height otherwise.</p>