title: Avoid dx/dy attributes in d3 axis labels
body: <p>I experienced problems with the position of text elements when exporting SVG files and opening it in Corel Draw (some older version). I fixed it by setting every dx/dy attribute to zero and added its value to the corresponding x/y attribute.</p>
  
  <p>I wrote a helper function which is called with .each on every text element I use.</p>
  
  <pre><code>transformDXYtoXY: function(d, i) {
      var that = d3.select(this);
  
      var y = that.attr("y") == null ? 0 : parseFloat(that.attr("y"));
      var dy = that.attr("dy") == null ? 0 : parseFloat(that.attr("dy"));
      that.attr("y", y + dy);
      that.attr("dy", 0);
  
      // doing the same with dx/x
      ...
  },
  </code></pre>
  
  <p>This was working great until I decided to transition axis on input change instead of redraw them:</p>
  
  <pre><code>axis = d3.svg.axis().scale(someScale);
  d3.select('.axis')
      .transition()
      .call(axis)
      .selectAll("text")
      .each(transformDXYtoXY);
  </code></pre>
  
  <p>Without the call to <code>transformDXYtoXY()</code> the tick label position is off
  The <code>y/dy</code> attributes are not being set, even though when I check for it inside <code>transformDXYtoXY()</code> it seems allright.</p>
  
  <p>Is there a way to tell d3 to avoid using <code>dx/dy</code>? It looks like the problem occurs during <code>transition()</code>.</p>