Support for drawable axis with graduation. Axis objects ({@link org.geotools.axis.Axis2D}) are lines ({@link java.awt.geom.Line2D}) with a graduation ({@link org.geotools.axis.Graduation}). Axis are graduated from the starting point ({@link java.awt.geom.Line2D#getP1()}) to the end point ({@link java.awt.geom.Line2D#getP2()}). Since axis can have arbitrary starting and end points (usually expressed in pixel coordinates), axis can be located anywhere in a widget and have any direction: vertical, horizontal, inclined, increasing up or down, etc. Two axis don't have to be perpendicular. As long as they are not parallel, it is always possible to construct an {@link java.awt.geom.AffineTransform} mapping logical values to pixel coordinates on any arbitrary axis, no matter their orientation.