Ngl.add_new_coord_limits
Adds new minimum/maximum values to X and/or Y coordinate arrays.
Available in version 1.2.0 or later.
Prototype
data_new = Ngl.add_new_coord_limits( data, fillvalue=None, xcoord=None, ycoord=None, xmin=None, xmax=None, ymin=None, ymax=None )
Arguments
dataA two-dimensional array of which you want to add new minimum and/or maximum values to its X and/or Y coordinate arrays.
fillvalue=NoneThe missing value for data. This value will be used to fill in the new data array at the locations where new minimum/maximum values have been added.
As of version 1.3.0, if data is a masked array, then data.fill_value() will be used. Otherwise, this value must be set if data is not a masked array.
xcoord=NoneThe X coordinate array, which must be a 1D array of the same length is the second dimension of data. If specified, then at least one of xmin or xmax must also be specified.
ycoord=NoneThe Y coordinate array, which must be a 1D array of the same length is the first dimension of data. If specified, then at least one of ymin or ymax must also be specified.
xmin=NoneThe new minimum value to use for the X coordinate array.
xmax=NoneThe new maximum value to use for the X coordinate array.
ymin=NoneThe new minimum value to use for the Y coordinate array.
ymax=NoneThe new maximum value to use for the Y coordinate array.
Return value
data_newA NumPy array of the same type as data with one or two more elements in the rightmost and/or leftmost dimension.
Description
This function adds new minimum and/or maximum values to the X and/or Y coordinate arrays of a 2D array, and returns a new 2D array and new coordinate arrays. At the locations that the new coordinate values represent, the new 2D array is set to the missing value, fillvalue.
This function is useful if you are generating a contour plot of the data, and you want to add some white space around the plot itself. Normally you would do this by using a combination of the trXMinF, trXMaxF, trYMinF, or trYMaxF resources. However, if your X and/or Y coordinate arrays are irregular, you cannot change your axes limits using these resources. You must instead use this function to force new limits for your coordinate arrays.
Examples
Example 1
For a simple example, run the following script and examine the output.
import numpy import Ngl Tmsg = -999 # Missing value tarray = numpy.array([[1.,2.,3.],[4.,5.,6.]]) # Dummy 2D data xcoord = numpy.array([10,11,15]) # X coordinate array ycoord = numpy.array([5,10]) # Y coordinate array print "tarray =\n",tarray print "xcoord =",xcoord print "ycoord =",ycoord print "\nAdd new minimum value to X coordinate array..." tarray_new,xcoord_new = Ngl.add_new_coord_limits(tarray,Tmsg,xcoord=xcoord, xmin=5) print "tarray_new =\n",tarray_new print "xcoord_new =",xcoord_new print "ycoord =",ycoord print "\nAdd new minimum/maximum values to Y coordinate array..." tarray_new,ycoord_new = Ngl.add_new_coord_limits(tarray,Tmsg,ycoord=ycoord, ymin=0,ymax=20) print "tarray_new =\n",tarray_new print "xcoord =",xcoord print "ycoord_new =",ycoord_new print "\nAdd new minimum/maximum values to X and Y coordinate arrays..." tarray_new,xcoord_new,ycoord_new = Ngl.add_new_coord_limits(tarray,Tmsg, xcoord=xcoord,ycoord=ycoord, xmin=8,xmax=17,ymin=3,ymax=12) print "tarray_new =\n",tarray_new print "xcoord_new =",xcoord_new print "ycoord_new =",ycoord_new Ngl.end()For a more complex example that uses masked arrays, see irregular.py.