# Displaying exploded axes with (New) Graphics

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: