pro plotLabel, title, yaxis=yaxis, xaxis=xaxis, color=color, font=font, $
charsize=charsize, thickness=thickness
if n_elements(color) eq 0 then color = !p.color
if n_elements(font) eq 0 then font = !p.font
ticklength = 0.0
tickLabelsize = 1.0
if n_elements(charsize) eq 0 then begin
charsize = 1.0
if !p.charsize gt 0 then charsize = !p.charsize
if !p.charsize gt 0 then tickLabelsize = !p.charsize
if !p.ticklen lt 0 then tickLength = !p.ticklen
if n_elements(xaxis) ne 0 then begin
if !x.charsize gt 0 then charsize = !x.charsize * charSize
if !x.charsize gt 0 then tickLabelsize = !x.charsize * tickLabelsize
if !x.ticklen lt 0 then tickLength = !x.ticklen
endif else begin
if !y.charsize gt 0 then charsize = !y.charsize * charSize
if !y.charsize gt 0 then tickLabelsize = !y.charsize * tickLabelsize
if !y.ticklen lt 0 then tickLength = !y.ticklen
endelse
endif
if n_elements(thickness) eq 0 then $
if !p.charthick gt 0 then thickness = !p.charthick else thickness = 1.0
if n_elements(xaxis) ne 0 then begin
Xmid = (!x.window[1] - !x.window[0]) / 2. + !x.window[0]
if xaxis eq 1 then begin
ticklabelLen = 0.5 < (!y.omargin[1] + !y.margin[1])
maxTside = (1.0 - (!d.x_ch_size * charsize * 1.1)/!d.y_size) < 1.0
Tside = (!y.window[1] + ticklength + $
(!d.y_ch_size * tickLabelsize * tickLabelLen)/!d.y_size ) < maxTside
xyouts, Xmid, Tside, title, alignment=0.5, charsize=charsize, $
orientation=0, font=font, color=color, /normal
endif else begin
ticklabelLen = 2.5 < (!y.omargin[0] + !y.margin[0])
minBside = 0.01
Bside = (!y.window[0] - ticklength - $
(!d.y_ch_size * tickLabelsize * tickLabelLen)/!d.y_size ) > minBside
xyouts, Xmid, Bside, title, alignment=0.5, charsize=charsize, $
orientation=0, font=font, color=color, /normal
endelse
endif else begin
Ymid = (!y.window[1] - !y.window[0]) / 2. + !y.window[0]
if n_elements(yaxis) ne 0 then if yaxis eq 1 then begin
ticklabelLen = 1.5 < (!x.omargin[1] + !x.margin[1])
maxRside = (1.0 - (!d.y_ch_size * charsize * 1.1)/!d.x_size) < 1.0
Rside = (!x.window[1] + ticklength + $
(!d.x_ch_size * tickLabelsize * tickLabelLen)/!d.x_size ) < maxRside
xyouts, Rside, Ymid, title, alignment=0.5, charsize=charsize, $
orientation=90, font=font, color=color, /normal
endif else begin
ticklabelLen = 6.5 < (!x.omargin[0] + !x.margin[0])
minLside = ((!d.y_ch_size * charsize * 1.1)/!d.x_size) > 0.0
Lside = (!x.window[0] - ticklength - $
(!d.x_ch_size * tickLabelsize * tickLabelLen)/!d.x_size ) > minLside
xyouts, Lside, Ymid, title, alignment=0.5, charsize=charsize, $
orientation=90, font=font, color=color, /normal
endelse
endelse
return
end