[pyngl-talk] vertical axis in cross section plot
Fearon, Dr. Matthew, Contractor, Code 7533
matthew.fearon.ctr at nrlmry.navy.mil
Thu Oct 18 18:09:22 MDT 2018
Dear PyNgl users,
I'm trying to plot a vertical cross section with regional model data on the native terrain-following vertical coordinate, in my case, that coordinate is sigma height. The levels are *not* equally spaced. However, when I plot the data, the vertical spacing between the levels is by default assumed to be equally spaced, at least it appears that way. Please see attached cross section plot, and in particular, the values on the vertical axis. How can I plot this properly such that the levels are not assumed to be equally spaced? Below is my plotting code where I use sfYArray to define my vertical axis/increment. I thought this approach with sfYArray would accommodate the unequal spacing, but it does not. I've explored a bit trYAxisType = IrregularAxis, but have been unsuccessful in getting it work.
Also, here are my vertical levels stored in the variable "yl" used in the plotting routine.
[5.0, 15.0, 26.0, 38.0, 50.0, 62.0, 75.0, 89.0, 104.0, 120.0, 137.0, 155.0, 174.0, 195.0, 218.0, 242.0, 267.0, 294.0, 323.0, 353.0, 385.0, 419.0, 455.0, 494.0, 535.0, 578.0, 624.0, 673.0, 725.0, 780.0, 838.0, 900.0, 966.0, 1036.0, 1111.0, 1195.0, 1288.0, 1391.0, 1506.0, 1634.0, 1776.0, 1934.0, 2110.0, 2306.0, 2525.0, 2769.0, 3040.0, 3342.0, 3678.0, 4052.0, 4469.0, 4933.0, 5449.0, 6023.0, 6662.0, 7373.0, 8164.0, 9045.0, 10026.0, 11118.0, 12333.0, 13685.0, 15190.0, 16865.0, 18729.0, 20804.0, 23114.0, 25685.0, 28546.0, 31730.0]
Thanks for the help,
Matt
def map_vslice(pname,plabel,cvarone,cvartwo,u,v,xv,xl,yv,yl,yd):
wks_type = "png"
wks = Ngl.open_wks(wks_type, pname)
#cmap = Ngl.read_colormap_file("WhiteBlueGreenYellowRed")
#cmap = Ngl.read_colormap_file("MPL_PuOr")
#cmap = Ngl.read_colormap_file("MPL_PuBu")
cmap = Ngl.read_colormap_file("MPL_Greens")
#cmap = cmap[::-1,:]
#cmap = Ngl.read_colormap_file("cmocean_tempo")
#cmap = Ngl.read_colormap_file("WhiteYellowOrangeRed")
cfres = Ngl.Resources()
cfres.nglFrame = False
cfres.nglDraw = False
clres = Ngl.Resources()
clres.nglFrame = False
clres.nglDraw = False
ylimit = max(yl) #)-12
cfres.sfXArray = xv
cfres.sfYArray = yl
clres.sfXArray = xv
clres.sfYArray = yl
#For Y axis
cfres.tmYLMode = "Explicit"
cfres.tmYLLabelFont = "times-roman"
cfres.tmYLValues = yl[::5]
cfres.tmYLLabels = yl[::5]
cfres.tmYLMinorOn = True
cfres.tmYLMinorValues = yl
#For X axis
cfres.tmXBMode = "Explicit"
cfres.tmXBLabelFont = "times-roman"
cfres.tmXBValues = xv[::20]
cfres.tmXBLabels = xl[::20]
cfres.tmXBMinorOn = True
cfres.tmXBMinorValues = xv[::5]
cfres.tmXBLabelFontHeightF = 0.006
cfres.tmYLLabelFontHeightF = 0.006
clres.cnFillOn = False
clres.cnLinesOn = True
clres.cnLineColor = "Black"
clres.cnLineThicknessF = 3
clres.cnLineLabelsOn = True
clres.cnLineLabelFontHeightF= 0.007
clres.cnLineLabelPerimOn = False
clres.cnLineLabelBackgroundColor = -1
clres.cnInfoLabelOn = False
cfres.tmXBLabelFontHeightF = 0.007
cfres.tmYLLabelFontHeightF = 0.007
cfres.tiYAxisString = "Sigma-Height/m"
cfres.tiXAxisString = "Latitude/deg"
cfres.tiXAxisFontHeightF = 0.012
cfres.tiYAxisFontHeightF = 0.012
cfres.tiMainOn = True
cfres.tiMainFontHeightF = 0.013
cfres.cnFillOn = True
cfres.cnLinesOn = False
cfres.cnLineLabelsOn = False
cfres.cnFillPalette = cmap
cfres.lbAutoManage = True #False
cfres.lbLabelStride = 1
cfres.pmLabelBarWidthF = 0.02
cfres.lbLabelFontHeightF = 0.016
cfres.lbPerimThicknessF = 2
cfres.pmLabelBarOrthogonalPosF = 0.002
plot = Ngl.contour(wks,cvarone,cfres)
oplot= Ngl.contour(wks,cvartwo,clres)
Ngl.overlay(plot,oplot)
Ngl.draw(plot)
Ngl.frame(wks)
Ngl.destroy(wks)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/pyngl-talk/attachments/20181019/03724847/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.png
Type: image/png
Size: 131030 bytes
Desc: test.png
URL: <http://mailman.ucar.edu/pipermail/pyngl-talk/attachments/20181019/03724847/attachment-0001.png>
More information about the pyngl-talk
mailing list