Index: /trunk/tools/drawing.py
===================================================================
--- /trunk/tools/drawing.py	(revision 1133)
+++ /trunk/tools/drawing.py	(revision 1134)
@@ -56,5 +56,5 @@
     draw_2D_shad(ncfile, values, varn)
       ncfile= file to use
-      values=[vnamefs]:[dimvals]:[dimxvn]:[dimyvn]:[colorbarvals]:[sminv],[smaxv]:[figt]:
+      values=[vnamefs]:[dimvals]:[dimxvn]:[dimyvn]:[dimxyfmt]:[colorbarvals]:[sminv],[smaxv]:[figt]:
        [kindfig]:[reverse]:[mapv]:[close]
         [vnamefs]: Name in the figure of the variable to be shaded
@@ -62,4 +62,16 @@
           variable a given value is required (-1, all the length)
         [dimx/yvn]: name of the variables with the values of the final dimensions (x,y)
+        [dimxyfmt]=[dxf],[Ndx],[dyf],[Ndy]: format of the values at each axis
+          [dxs]: style of x-axis ('auto' for 'pretty')
+            'Nfix', values computed at even 'Ndx'
+            'Vfix', values computed at even 'Ndx' increments
+            'pretty', values computed following aprox. 'Ndx' at 'pretty' intervals (2.,2.5,4,5,10)
+          [dxf]: format of the labels at the x-axis
+          [Ndx]: Number of ticks at the x-axis
+          [ordx]: angle of orientation of ticks at the x-axis ('auto' for horizontal)
+          [dys]: style of y-axis ('auto' for 'pretty')
+          [dyf]: format of the labels at the y-axis
+          [Ndy]: Number of ticks at the y-axis
+          [ordy]: angle of orientation of ticks at the y-axis ('auto' for horizontal)
         [colorbarvals]=[colbarn],[fmtcolorbar],[orientation]
           [colorbarn]: name of the color bar
@@ -103,5 +115,5 @@
         quit()
 
-    expectargs = '[vnamefs]:[dimvals]:[dimxvn]:[dimyvn]:[colbarvals]:' +             \
+    expectargs = '[vnamefs]:[dimvals]:[dimxvn]:[dimyvn]:[dimxyf]:[colbarvals]:' +    \
       '[sminv],[smaxv]:[figt]:[kindfig]:[reverse]:[mapv]:[close]'
  
@@ -112,11 +124,12 @@
     vdimxn = values.split(':')[2]
     vdimyn = values.split(':')[3]
-    colorbarvals = values.split(':')[4]
-    shadminmax = values.split(':')[5]
-    figtitle = values.split(':')[6].replace('|',' ')
-    figkind = values.split(':')[7]
-    revals = values.split(':')[8]
-    mapvalue = values.split(':')[9]
-    close = gen.Str_Bool(values.split(':')[10])
+    dimxyf = values.split(':')[4]
+    colorbarvals = values.split(':')[5]
+    shadminmax = values.split(':')[6]
+    figtitle = values.split(':')[7].replace('|',' ')
+    figkind = values.split(':')[8]
+    revals = values.split(':')[9]
+    mapvalue = values.split(':')[10]
+    close = gen.Str_Bool(values.split(':')[11])
 
     ncfiles = ncfile
@@ -193,23 +206,4 @@
       objdimy.dimensions, dimvals.replace(':','|').split(','))
 
-
-#    if len(objdimx.shape) <= 2:
-##        odimxv = objdimx[valshad.shape]
-##        odimyv = objdimy[valshad.shape]
-#        odimxv = objdimx[:]
-#        odimyv = objdimy[:]
-
-#    elif len(objdimx.shape) == 3:
-##        dimcut = [0, slice(0,valshad.shape[0]), slice(0,valshad.shape[1])]
-##        odimxv = objdimx[tuple(dimcut)]
-##        odimyv = objdimy[tuple(dimcut)]
-#        odimxv = objdimx[0,:]
-#        odimyv = objdimy[0,:]
-#    else:
-#        print errormsg
-#        print '  ' + fname + ': shape of dimension variable:', objdimx.shape,        \
-#          ' not ready!!'
-#        quit(-1)
-
     shading_nx = []
     if shadminmax.split(',')[0][0:1] != 'S':
@@ -225,23 +219,16 @@
     if mapvalue == 'None': mapvalue = None
 
-    colbarn = colorbarvals.split(',')[0]
-    fmtcolbar0 = colorbarvals.split(',')[1]
-    colbaror0 = colorbarvals.split(',')[2]
-
-    if fmtcolbar0 == 'auto':
-        fmtcolbar = '%6g'
-    else:
-        fmtcolbar = fmtcolbar0
-    if colbaror0 == 'auto':
-        colbaror = 'vertical'
-    else:
-        colbaror = colbaror0
+    colbarn, fmtcolbar, colbaror = drw.colorbar_vals(colorbarvals,',')
+
+    xstyl, xaxf, Nxax, xaxor, ystyl, yaxf, Nyax, yaxor = drw.format_axes(dimxyf,',')
+    xaxis = [xstyl, xaxf, Nxax, xaxor]
+    yaxis = [ystyl, yaxf, Nyax, yaxor]
 
     if revals == 'None':
         revals = None
 
-    drw.plot_2D_shadow(valshad, vnamesfig, odimxv, odimyv, odimxu, odimyu, dimnamesv,\
-      colbarn, fmtcolbar, colbaror, shading_nx, varunits, figtitle, figkind, revals, \
-      mapvalue, close)
+    drw.plot_2D_shadow(valshad, vnamesfig, odimxv, odimyv, odimxu, odimyu, xaxis,    \
+      yaxis, dimnamesv, colbarn, fmtcolbar, colbaror, shading_nx, varunits, figtitle,\
+      figkind, revals, mapvalue, close)
 
     return
Index: /trunk/tools/drawing_tools.py
===================================================================
--- /trunk/tools/drawing_tools.py	(revision 1133)
+++ /trunk/tools/drawing_tools.py	(revision 1134)
@@ -28,4 +28,8 @@
 
 ####### Funtions
+# check_colorBar: Check if the given colorbar exists in matplotlib
+# colorbar_vals: Function to provide the colorbar values for a figure
+# format_axes: Function to provide the format for the ticks of the axes in a figure
+# graphic_range: Function to provide the ranges of a figure following different options
 # searchInlist:
 # datetimeStr_datetime:
@@ -40,5 +44,4 @@
 # file_nlines:
 # variables_values:
-# check_colorBar:
 # units_lunits:
 # ASCII_LaTeX:
@@ -1693,4 +1696,6 @@
 #quit()
 
+
+
 #######    #######    #######    #######    #######    #######    #######    #######    #######    #######
 
@@ -1700,21 +1705,56 @@
     fname = 'check_colorBar'
 
+# FROM: http://matplotlib.org/1.2.1/examples/pylab_examples/show_colormaps.html
+# Get a list of the colormaps in matplotlib.  Ignore the ones that end with
+# '_r' because these are simply reversed versions of ones that don't end
+# with '_r'
+    maps = sorted(m for m in plt.cm.datad if not m.endswith("_r"))
+    nmaps = len(maps) + 1
+
 # Possible color bars
-    colorbars = ['binary', 'Blues', 'BuGn', 'BuPu', 'gist_yarg', 'GnBu', 'Greens',   \
-      'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu',       \
-      'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd', 'afmhot', 'autumn', 'bone',      \
-      'cool', 'copper', 'gist_gray', 'gist_heat', 'gray', 'hot', 'pink', 'spring',   \
-      'summer', 'winter', 'BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', 'RdBu', \
-      'RdGy', 'RdYlBu', 'RdYlGn', 'seismic', 'Accent', 'Dark2', 'hsv', 'Paired',     \
-      'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3', 'spectral', 'gist_earth',        \
-      'gist_ncar', 'gist_rainbow', 'gist_stern', 'jet', 'brg', 'CMRmap', 'cubehelix',\
-      'gnuplot', 'gnuplot2', 'ocean', 'rainbow', 'terrain', 'flag', 'prism']
-
-    if not searchInlist(colorbars,cbarn):
+#    colorbars = ['binary', 'Blues', 'BuGn', 'BuPu', 'gist_yarg', 'GnBu', 'Greens',   \
+#      'Greys', 'Oranges', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu',       \
+#      'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd', 'afmhot', 'autumn', 'bone',      \
+#      'cool', 'copper', 'gist_gray', 'gist_heat', 'gray', 'hot', 'pink', 'spring',   \
+#      'summer', 'winter', 'BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr', 'RdBu', \
+#      'RdGy', 'RdYlBu', 'RdYlGn', 'seismic', 'Accent', 'Dark2', 'hsv', 'Paired',     \
+#      'Pastel1', 'Pastel2', 'Set1', 'Set2', 'Set3', 'spectral', 'gist_earth',        \
+#      'gist_ncar', 'gist_rainbow', 'gist_stern', 'jet', 'brg', 'CMRmap', 'cubehelix',\
+#      'gnuplot', 'gnuplot2', 'ocean', 'rainbow', 'terrain', 'flag', 'prism']
+
+    if not searchInlist(maps,cbarn):
         print warnmsg
         print '  ' + fname + ' color bar: "' + cbarn + '" does not exist !!'
-        print '  a standard one will be use instead !!'
+        print "  the standard 'rainbow' will be use instead !!"
+        print '    colorbars availables with this version:', maps
 
     return
+
+def colorbar_vals(colorbarvs,splitchar):
+    """ Function to provide the colorbar values for a figure
+      colorbarvs= [splitchar] separated list of different colorbar values
+        [cbn]: name of the color bar to use
+        [fmtcb]: format of the tick labels in the colorbar ('C'-like) ('auto' for '%6g')
+        [cbor]: orientation of the color bar ('vertical'/'horizontal') ('auto' for vertical)
+    """
+    fname = 'colorbar_vals'
+
+    colbarn = colorbarvs.split(splitchar)[0]
+    fmtcolbar0 = colorbarvs.split(splitchar)[1]
+    colbaror0 = colorbarvs.split(splitchar)[2]
+
+    if fmtcolbar0 == 'auto':
+        fmtcolbar = '%6g'
+    else:
+        fmtcolbar = fmtcolbar0
+    if colbaror0 == 'auto':
+        colbaror = 'vertical'
+    else:
+        colbaror = colbaror0
+
+    # check colorbar existence
+    check_colorBar(colbarn)
+
+    return colbarn, fmtcolbar, colbaror
 
 def units_lunits(u):
@@ -2652,5 +2692,139 @@
     return boolv
 
-####### ###### ##### #### ### ## #
+def graphic_range(vrng,varsV):
+    """ Function to provide the ranges of a figure following different options
+      vrng: list of two values: maximum and minimum for the range of the figure 
+        'Srange': for full range
+        'Saroundmean@val': for mean-xtrm,mean+xtrm where xtrm = np.min(mean-min@val,max@val-mean)
+        'Saroundminmax@val': for min*val,max*val
+        'Saroundpercentile@val': for median-xtrm,median+xtrm where xtrm = np.min(median-percentile_(val),
+          percentile_(100-val)-median)
+        'Smean@val': for -xtrm,xtrm where xtrm = np.min(mean-min*@val,max*@val-mean)
+        'Smedian@val': for -xtrm,xtrm where xtrm = np.min(median-min@val,max@val-median)
+        'Spercentile@val': for -xtrm,xtrm where xtrm = np.min(median-percentile_(val),
+           percentile_(100-val)-median)
+    """
+    fname = 'graphic_range'
+
+    rangegrph = np.zeros((2), dtype=np.float)
+# Changing limits of the colors
+    if type(vrng[0]) != type(np.float(1.)) and type(vrng[0]) != type(np.float64(1.)):
+        if vrng[0] == 'Srange':
+            rangegrph[0] = np.min(varsV)
+            rangegrph[1] = np.max(varsV)
+        elif vrng[0][0:11] == 'Saroundmean':
+            meanv = np.mean(varsV)
+            permean = np.float(vrng[0].split('@')[1])
+            minv = np.min(varsV)*permean
+            maxv = np.max(varsV)*permean
+            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
+            rangegrph[0] = meanv-minextrm
+            rangegrph[1] = meanv+minextrm
+        elif vrng[0][0:13] == 'Saroundminmax':
+            permean = np.float(vrng[0].split('@')[1])
+            minv = np.min(varsV)*permean
+            maxv = np.max(varsV)*permean
+            rangegrph[0] = minv
+            rangegrph[1] = maxv
+        elif vrng[0][0:17] == 'Saroundpercentile':
+            medianv = np.median(varsV)
+            valper = np.float(vrng[0].split('@')[1])
+            minv = np.percentile(varsV, valper)
+            maxv = np.percentile(varsV, 100.-valper)
+            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
+            rangegrph[0] = medianv-minextrm
+            rangegrph[1] = medianv+minextrm
+        elif vrng[0][0:5] == 'Smean':
+            meanv = np.mean(varsV)
+            permean = np.float(vrng[0].split('@')[1])
+            minv = np.min(varsV)*permean
+            maxv = np.max(varsV)*permean
+            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
+            rangegrph[0] = -minextrm
+            rangegrph[1] = minextrm
+        elif vrng[0][0:7] == 'Smedian':
+            medianv = np.median(varsV)
+            permedian = np.float(vrng[0].split('@')[1])
+            minv = np.min(varsV)*permedian
+            maxv = np.max(varsV)*permedian
+            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
+            rangegrph[0] = -minextrm
+            rangegrph[1] = minextrm
+        elif vrng[0][0:11] == 'Spercentile':
+            medianv = np.median(varsV)
+            valper = np.float(vrng[0].split('@')[1])
+            minv = np.percentile(varsV, valper)
+            maxv = np.percentile(varsV, 100.-valper)
+            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
+            rangegrph[0] = -minextrm
+            rangegrph[1] = minextrm
+        else:
+            print errormsg
+            print '  ' + fname + ": range '" + vrng[0] + "' not ready!!!"
+            quit(-1)
+        print '    ' + fname + ': modified shadow min,max:',rangegrph
+    else:
+        rangegrph[0] = vrng[0]
+        rangegrph[1] = vrng[1]
+
+    return rangegrph
+
+def format_axes(axesS,char):
+    """ Function to provide the format for the ticks of the axes in a figure
+      axesS= [char] separated list of ('auto' for all 'auto' values)
+        xs: style of x-axis ('auto' for 'pretty')
+          'Nfix', values computed at even 'Ndx'
+          'Vfix', values computed at even 'Ndx' increments
+          'pretty', values computed following aprox. 'Ndx' at 'pretty' intervals (2.,2.5,4,5,10)
+        xf: format of the ticks labels at the x-axis ('auto' for '5g')
+        Nx: number of ticks labels at the x-axis ('auto' for 5)
+        orx: angle of orientation of ticks at the x-axis ('auto' for horizontal)
+        ys: style of y-axis ('auto' for 'pretty')
+        yf: format of the ticks labels at the y-axis ('auto' for '5g')
+        Ny: number of ticks labels at the y-axis ('auto' for 5)
+        ory: angle of orientation of ticks at the y-axis ('auto' for horizontal)
+    >>> format_axes('auto',',')
+    ('pretty', '5g', 5, 0.0, 'pretty', '5g', 5, 0.0)
+    >>> format_axes('pretty,auto,7,auto,Vfix,.0f,30,45.',',')
+    ('pretty', '5g', 7, 0.0, 'Vfix', '.0f', 30, 45.0)
+    """
+    fname = 'format_axes'
+
+    if axesS == 'auto':
+        xs = 'pretty'
+        xf = '5g'
+        Nx = 5
+        orx = 0.
+        ys = 'pretty'
+        yf = '5g'
+        Ny = 5
+        ory = 0.
+    else:
+        Sv = axesS.split(char)
+
+        if Sv[0] == 'auto': xs = 'pretty'
+        else: xs = Sv[0]
+        if Sv[1] == 'auto': xf = '5g'
+        else: xf = Sv[1]
+        if Sv[2] == 'auto': Nx = 5
+        else:
+          if Sv[0] == 'pretty' or Sv[0] == 'Nfix': Nx = int(Sv[2])
+          else: Nx = np.float(Sv[2])
+        if Sv[3] == 'auto': orx = 0.
+        else: orx = np.float(Sv[3])
+        if Sv[4] == 'auto': ys = 'pretty'
+        else: ys = Sv[4]
+        if Sv[5] == 'auto': yf = '5g'
+        else: yf = Sv[5]
+        if Sv[6] == 'auto': Ny = 5
+        else: 
+          if Sv[4] == 'pretty' or Sv[4] == 'Nfix': Ny = int(Sv[6])
+          else: Ny = np.float(Sv[6])
+        if Sv[7] == 'auto': ory = 0.
+        else: ory = np.float(Sv[7])
+
+    return xs, xf, Nx, orx, ys, yf, Ny, ory
+
+####### ###### ##### #### ### ## # END of GENERIC functions
 
 def plot_TimeSeries(valtimes, vunits, tunits, hfileout, vtit, ttit, tkind, tformat,  \
@@ -3789,6 +3963,6 @@
     return
 
-def plot_2D_shadow(varsv,vnames,dimxv,dimyv,dimxu,dimyu,dimn,          \
-  colorbar,cbarfmt,cbaror,vs,uts,vtit,kfig,reva,mapv,ifclose):
+def plot_2D_shadow(varsv, vnames, dimxv, dimyv, dimxu, dimyu, xaxv, yaxv, dimn,      \
+  colorbar, cbarfmt, cbaror, vs, uts, vtit, kfig, reva, mapv, ifclose):
     """ Adding labels and other staff to the graph
       varsv= 2D values to plot with shading
@@ -3796,4 +3970,6 @@
       dim[x/y]v = values at the axes of x and y
       dim[x/y]u = units at the axes of x and y
+      xaxv= list with the x-axis paramteres [style, format, number and orientation]
+      yaxv= list with the y-axis paramteres [style, format, number and orientation]
       dimn= dimension names to plot
       colorbar= name of the color bar to use
@@ -3848,14 +4024,31 @@
         quit(-1)
 
+    # Axis ticks
     # Usually axis > x must be the lon, thus...
     dimxv0 = dimxv.copy()
     dimyv0 = dimyv.copy()
 
-    dimxt0 = np.array(pretty_int(dimxv.min(),dimxv.max(),5))
-    dimyt0 = np.array(pretty_int(dimyv.min(),dimyv.max(),5))
+    dxn = dimxv.min()
+    dxx = dimxv.max()
+    dyn = dimyv.min()
+    dyx = dimyv.max()
+
+    if xaxv[0] == 'pretty':
+        dimxt0 = np.array(pretty_int(dxn,dxx,xaxv[2]))
+    elif xaxv[0] == 'Nfix':
+        dimxt0 = np.arange(dxn,dxx,(dxx-dxn)/(1.*xaxv[2]))
+    elif xaxv[0] == 'Vfix':
+        dimxt0 = np.arange(0,dxx,xaxv[2])
+    if yaxv[0] == 'pretty':
+        dimyt0 = np.array(pretty_int(dyn,dyx,yaxv[2]))
+    elif yaxv[0] == 'Nfix':
+        dimyt0 = np.arange(dyn,dyx,(dyx-dyn)/(1.*yaxv[2]))
+    elif yaxv[0] == 'Vfix':
+        dimyt0 = np.arange(0,dyx,yaxv[2])
+
     dimxl0 = []
-    for i in range(len(dimxt0)): dimxl0.append('{:.1f}'.format(dimxt0[i]))
+    for i in range(len(dimxt0)): dimxl0.append('{:{style}}'.format(dimxt0[i], style=xaxv[1]))
     dimyl0 = []
-    for i in range(len(dimyt0)): dimyl0.append('{:.1f}'.format(dimyt0[i]))
+    for i in range(len(dimyt0)): dimyl0.append('{:{style}}'.format(dimyt0[i], style=yaxv[1]))
 
     dimxT0 = variables_values(dimn[0])[0] + ' (' + units_lunits(dimxu) + ')'
@@ -3962,69 +4155,6 @@
         y = (dimyv-np.min(dimyv))/(np.max(dimyv) - np.min(dimyv))
 
-    vsend = np.zeros((2), dtype=np.float)
 # Changing limits of the colors
-    if type(vs[0]) != type(np.float(1.)) and type(vs[0]) != type(np.float64(1.)):
-        if vs[0] == 'Srange':
-            vsend[0] = np.min(varsv)
-            vsend[1] = np.max(varsv)
-        elif vs[0][0:11] == 'Saroundmean':
-            meanv = np.mean(varsv)
-            permean = np.float(vs[0].split('@')[1])
-            minv = np.min(varsv)*permean
-            maxv = np.max(varsv)*permean
-            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
-            vsend[0] = meanv-minextrm
-            vsend[1] = meanv+minextrm
-        elif vs[0][0:13] == 'Saroundminmax':
-            permean = np.float(vs[0].split('@')[1])
-            minv = np.min(varsv)*permean
-            maxv = np.max(varsv)*permean
-            vsend[0] = minv
-            vsend[1] = maxv
-        elif vs[0][0:17] == 'Saroundpercentile':
-            medianv = np.median(varsv)
-            valper = np.float(vs[0].split('@')[1])
-            minv = np.percentile(varsv, valper)
-            maxv = np.percentile(varsv, 100.-valper)
-            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
-            vsend[0] = medianv-minextrm
-            vsend[1] = medianv+minextrm
-        elif vs[0][0:5] == 'Smean':
-            meanv = np.mean(varsv)
-            permean = np.float(vs[0].split('@')[1])
-            minv = np.min(varsv)*permean
-            maxv = np.max(varsv)*permean
-            minextrm = np.min([np.abs(meanv-minv), np.abs(maxv-meanv)])
-            vsend[0] = -minextrm
-            vsend[1] = minextrm
-        elif vs[0][0:7] == 'Smedian':
-            medianv = np.median(varsv)
-            permedian = np.float(vs[0].split('@')[1])
-            minv = np.min(varsv)*permedian
-            maxv = np.max(varsv)*permedian
-            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
-            vsend[0] = -minextrm
-            vsend[1] = minextrm
-        elif vs[0][0:11] == 'Spercentile':
-            medianv = np.median(varsv)
-            valper = np.float(vs[0].split('@')[1])
-            minv = np.percentile(varsv, valper)
-            maxv = np.percentile(varsv, 100.-valper)
-            minextrm = np.min([np.abs(medianv-minv), np.abs(maxv-medianv)])
-            vsend[0] = -minextrm
-            vsend[1] = minextrm
-        else:
-            print errormsg
-            print '  ' + fname + ": range '" + vs[0] + "' not ready!!!"
-            quit(-1)
-        print '    ' + fname + ': modified shadow min,max:',vsend
-    else:
-        vsend[0] = vs[0]
-
-    if type(vs[0]) != type(np.float(1.)):
-        if vs[1] == 'range':
-            vsend[1] = np.max(varsv)
-    else:
-        vsend[1] = vs[1]
+    vsend = graphic_range(vs,varsv)
 
     plt.rc('text', usetex=True)
@@ -4042,5 +4172,4 @@
         cbar = plt.colorbar(format=cbarfmt,orientation=cbaror)
     
-
     if not mapv is None:
         if colorbar == 'gist_gray':
@@ -4049,7 +4178,7 @@
             m.drawcoastlines()
 
-        meridians = pretty_int(nlon,xlon,5)
+        meridians = pretty_int(nlon,xlon,Ndimx)
         m.drawmeridians(meridians,labels=[True,False,False,True])
-        parallels = pretty_int(nlat,xlat,5)
+        parallels = pretty_int(nlat,xlat,Ndimy)
         m.drawparallels(parallels,labels=[False,True,True,False])
 
@@ -4075,6 +4204,6 @@
 #        plt.xticks(txpos, txlabels)
 #        plt.yticks(typos, tylabels)
-        plt.xticks(dimxt, dimxl)
-        plt.yticks(dimyt, dimyl)
+        plt.xticks(dimxt, dimxl, rotation=xaxv[3])
+        plt.yticks(dimyt, dimyl, rotation=yaxv[3])
 
 # units labels
