# Displaying exploded axes with (New) Graphics

While I’m out of the office this week, here’s another hacktastic example for your enjoyment: displaying exploded axes in a

(New) Graphics plot.
Start by making a plot with axis labels and ticks that point outward, and include some extra room around the margins:

p = **plot**(/test, margin=**0.2**, xtickdir=**1**, ytickdir=**1**)

Next, get the x- and y-axis ranges:

xr = **max**(p.*xrange*, min=min_x) – min_x
yr = **max**(p.*yrange*, min=min_y) – min_y

Last, nudge the four axes of the plot outward from their default locations by some fraction of the x- or y-axis range. There are three pieces of information I’ll use for this:

- Recall that children of a NG plot can be referenced with a hash syntax.
- Plot axes are indexed: 0=bottom, 1=left, 2=top, 3=right, and they have default NAME properties that reflect this.
- The location of each axis can be set by its LOCATION property, which uses data coordinates.

Here’s the code:

frac = **0.05** ; tunable parameter
p['axis0'].*location* -= [**0.0**, frac*yr, **0.0**]
p['axis1'].*location* -= [frac*xr, **0.0**, **0.0**]
p['axis2'].*location* += [**0.0**, frac*yr, **0.0**]
p['axis3'].*location* += [frac*xr, **0.0**, **0.0**]

Note that adding x- and y-axis titles to this plot will work as expected, but a plot title should be created and placed with TEXT:

p.*xtitle* = 'Time'
p.*ytitle* = 'Amplitude'
t = **text**(**0.5**, **0.9**, 'Damped Oscillator', alignment='center')

Here’s a screenshot of the result from the Windows side of my laptop: