function render( ctx ) {
	/* eslint-disable no-underscore-dangle */
	var orient;
	var stroke;
	var range0;
	var range1;
	var offset;
	var range;
	var props;
	var d;

	orient = ctx._orientation;
	debug( 'Axis orientation: %s.', orient );

	range = ctx._scale.range();
	debug( 'Axis range: %s.', JSON.stringify( range ) );

	range0 = range[ 0 ] + 0.5;
	range1 = range[ range.length-1 ] + 0.5;

	offset = ctx.tickDir * ctx._outerTickSize;
	d = '';
	if ( orient === 'left' || orient === 'right' ) {
		d += 'M' + offset + ',' + range0;
		d += 'H0.5';
		d += 'V' + range1;
		d += 'H' + offset;

		stroke = 'none';
	} else {
		d += 'M' + range0 + ',' + offset;
		d += 'V0.5';
		d += 'H' + range1;
		d += 'V' + offset;

		stroke = '#aaa';
	}
	props = {
		'namespace': 'http://www.w3.org/2000/svg',
		'property': 'axis.domain',
		'className': 'domain',
		'attributes': {
			'fill': 'none',
			'stroke': stroke,
			'stroke-width': 1,
			'd': d
		}
	};

	debug( 'Generating a virtual DOM tree (%s) with properties: %s.', ELEMENT, JSON.stringify( props ) );

	return h( ELEMENT, props, [] );
}
Renders an axis domain.

@private
@param {Object} ctx - context
@returns {VTree} virtual tree