Exemple #1
0
def prepPrimitive(prim):
    if prim.x is None or prim.y is None:
        return 0
    if not isinstance(prim.x[0], (list, tuple)):
        prim.x = [
            prim.x,
        ]
    if not isinstance(prim.y[0], (list, tuple)):
        prim.y = [
            prim.y,
        ]
    if vcs.isfillarea(prim):
        atts = ["x", "y", "color", "style", "index"]
    elif vcs.ismarker(prim):
        atts = ["x", "y", "color", "size", "type"]
    elif vcs.isline(prim):
        atts = ["x", "y", "color", "width", "type"]
    n = 0
    for a in atts:
        n = max(n, len(getattr(prim, a)))
    for a in atts:
        v = getattr(prim, a)
        while len(v) < n:
            v.append(v[-1])
        setattr(prim, a, v)
    return n
Exemple #2
0
def prepPrimitive(prim):
  if prim.x is None or prim.y is None:
    return 0
  if not isinstance(prim.x[0],(list,tuple)):
    prim.x = [prim.x,]
  if not isinstance(prim.y[0],(list,tuple)):
    prim.y = [prim.y,]
  if vcs.isfillarea(prim):
    atts = ["x","y","color","style","index"]
  elif vcs.ismarker(prim):
    atts = ["x","y","color","size","type"]
  elif vcs.isline(prim):
    atts = ["x","y","color","width","type"]
  n=0
  for a in atts:
    n = max(n,len(getattr(prim,a)))
  for a in atts:
    v = getattr(prim,a)
    while len(v)<n:
      v.append(v[-1])
    setattr(prim,a,v)
  return n
Exemple #3
0
def test():
    import vcs, cdms2 as cdms, time, os, sys, support  # import vcs and cu
    bg = support.bg

    f = cdms.open(
        os.path.join(cdms.__path__[0], '..', '..', '..', '..', 'sample_data',
                     'clt.nc'))  # open clt file
    u = f('u')  # get slab u
    v = f('v')  # get slab v
    x = vcs.init()  # construct vcs canvas

    a = x.createxvsy('quick')  # create 'quick' xvsy
    if not vcs.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs.isxvsy(a):  # test object 'a' if xvsy
            raise Exception, "Error gm is not right type"

    x.plot(u, v, 'default', 'xvsy', 'quick', bg=bg)  # plot slabs the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    a.script('test', 'w')  # save 'quick' xvsy as a Python script

    a.xticlabels('', '')  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')  # put the x-axis
    support.check_plot(x)

    ############################################################################
    # Change the xvsy line                                                     #
    ############################################################################
    a.line = 0  # same as 'solid'
    support.check_plot(x)
    a.line = 1  # same as 'dash'
    support.check_plot(x)
    a.line = 2  # same as 'dot'
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot'
    support.check_plot(x)
    a.line = 4  # same as 'long-dash'
    support.check_plot(x)

    if not '--extended' in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    ############################################################################
    # Change the xvsy line color                                               #
    ############################################################################
    a.linecolor = (77)
    support.check_plot(x)
    a.linecolor = 16
    support.check_plot(x)
    a.linecolor = 44  # same as a.color=(44)
    support.check_plot(x)
    a.linecolor = None
    support.check_plot(x)

    ############################################################################
    # Change the xvsy marker                                                   #
    ############################################################################
    a.marker = 1  # Same as a.marker='dot'
    support.check_plot(x)
    a.marker = 2  # Same as a.marker='plus'
    support.check_plot(x)
    a.marker = 3  # Same as a.marker='star'
    support.check_plot(x)
    a.marker = 4  # Same as a.marker='circle'
    support.check_plot(x)
    a.marker = 5  # Same as a.marker='cross'
    support.check_plot(x)
    a.marker = 6  # Same as a.marker='diamond'
    support.check_plot(x)
    a.marker = 7  # Same as a.marker='triangle_up'
    support.check_plot(x)
    a.marker = 8  # Same as a.marker='triangle_down'
    support.check_plot(x)
    a.marker = 9  # Same as a.marker='triangle_left'
    support.check_plot(x)
    a.marker = 10  # Same as a.marker='triangle_right'
    support.check_plot(x)
    a.marker = 11  # Same as a.marker='square'
    support.check_plot(x)
    a.marker = 12  # Same as a.marker='diamond_fill'
    support.check_plot(x)
    a.marker = 13  # Same as a.marker='triangle_up_fill'
    support.check_plot(x)
    a.marker = 14  # Same as a.marker='triangle_down_fill'
    support.check_plot(x)
    a.marker = 15  # Same as a.marker='triangle_left_fill'
    support.check_plot(x)
    a.marker = 16  # Same as a.marker='triangle_right_fill'
    support.check_plot(x)
    a.marker = 17  # Same as a.marker='square_fill'
    support.check_plot(x)
    a.marker = None  # Draw no markers
    support.check_plot(x)

    ############################################################################
    # Change the xvsy marker color                                             #
    ############################################################################
    a.marker = 'dot'
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44  # same as a.markercolor=(44)
    support.check_plot(x)
    a.markercolor = None
    support.check_plot(x)

    ############################################################################
    # Change the xvsy marker size                                              #
    ############################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 10
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.xvsy(u, v, a, 'default', bg=bg)  # plot xvsy using 'default' template
    support.check_plot(x)

    #########################################################################
    # Create template 'test' from the default template			   #
    #########################################################################
    objs = x.listelements('template')  # get the list of templates
    t = x.createtemplate(
        'test')  # create template 'test' from 'default' template
    if not vcs.istemplate(t):  # test whether 't' is a template or not
        raise Exception, "Error template not created"
    else:
        a2 = x.listelements('template')  # get the list of templates
        if objs == a2:
            raise Exception, "Error template not created or added to list"

    x.clear()  # clear the VCS Canvas
    x.plot(t, a, u, v,
           bg=bg)  # plot xvsy template 't', outline 'a', and arrays 'u':'v'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.xvsy(a, u, v, t,
           bg=bg)  # plot using outline 'a', array 'u':'v', and template 't'
    support.check_plot(x)

    l = x.getline('red')  # get line 'red'
    if not vcs.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception, "Error object created is not line"

    ###########################################################################
    # Use the create line object 'm' from above and modify the line object    #
    ###########################################################################
    a.line = l  # use the line object
    support.check_plot(x)
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = 'dot'  # change the line type
    support.check_plot(x)
    l.width = 4  # change the line size
    support.check_plot(x)

    m = x.getmarker('red')  # get marker 'red'
    if not vcs.issecondaryobject(
            m):  # check to see if it is a secondary object
        raise Exception, "Error did not get marker"
    else:
        if not vcs.ismarker(m):  # check to see if it is a line
            raise Exception, "Error object created is not marker"

    ###########################################################################
    # Use the create marker object 'm' from above and modify the line object  #
    ###########################################################################
    a.marker = m  # use the marker object
    support.check_plot(x)
    m.color = 44  # change the marker color
    support.check_plot(x)
    m.type = 'square'  # change the marker type
    support.check_plot(x)
    m.size = 20  # change the marker size
    support.check_plot(x)

    a = x.listelements('xvsy')  # show list of gm
    r = x.createxvsy('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('xvsy')  # show list of gm
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements('xvsy')  # show list of gm
    if a3 != a:
        raise "error gm not removed"

    #################################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    #################################################################################
    #x.update()
    #x.mode=1
    #x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   X v s Y   T E S T   C O M P L E T E D   S U C E S S F U L L Y         ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
Exemple #4
0
def test():
    import vcs, cdms2 as cdms, time, os, sys, support  # import vcs and cu
    bg = support.bg

    f = cdms.open(
        os.path.join(cdms.__path__[0], '..', '..', '..', '..', 'sample_data',
                     'clt.nc'))  # open clt file
    u = f.getslab('u', ':', ':', -10., 0., 0, 10)  # get slab u
    v = f.getslab('v', ':', ':', -10., 0., 0, 10)  # get slab v
    x = vcs.init()  # construct vcs canvas

    x.plot(u, v, 'default', 'vector', 'quick', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    a = x.getvector('quick')  # get 'quick' vector
    if not vcs.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs.isvector(a):  # test object 'a' if vector
            raise Exception, "Error gm is not right type"

    a.script('test', 'w')  # save 'quick' vector as a Python script

    a.xticlabels('', '')  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')  # put the x-axis
    support.check_plot(x)

    ############################################################################
    # Change the vector scale                                                  #
    ############################################################################
    a.scale = 2.0
    support.check_plot(x)
    a.scale = 5.0
    support.check_plot(x)
    a.scale = 1.5
    support.check_plot(x)
    a.scale = 0.0
    support.check_plot(x)
    a.scale = -1.5
    support.check_plot(x)
    a.scale = -2.0
    support.check_plot(x)
    a.scale = -5.0
    support.check_plot(x)

    ############################################################################
    # Change the vector typeiiiiiii                                            #
    ############################################################################
    a.type = 0  # same as a.type = 'arrows'
    support.check_plot(x)
    a.type = 1  # same as a.type = 'barbs'
    support.check_plot(x)
    ##    a.type=2				# same as a.type = 'solidarrows'
    ##    support.check_plot(x)
    ##    raw_input("Done...")

    if not '--extended' in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    ############################################################################
    # Change the vector reference                                              #
    ############################################################################
    a.reference = 10.
    support.check_plot(x)
    a.reference = 100.
    support.check_plot(x)
    a.reference = 4.
    support.check_plot(x)
    a.reference = 5.
    support.check_plot(x)

    ############################################################################
    # Change the vector alignment                                              #
    ############################################################################
    a.alignment = 'head'  # same as a.alignment=0
    support.check_plot(x)
    a.alignment = 'center'  # same as a.alignment=1
    support.check_plot(x)
    a.alignment = 'tail'  # same as a.alignment=2
    support.check_plot(x)

    ############################################################################
    # Change the vector line                                                   #
    ############################################################################
    a.line = 0  # same as 'solid'
    support.check_plot(x)
    a.line = 1  # same as 'dash'
    support.check_plot(x)
    a.line = 2  # same as 'dot'
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot'
    support.check_plot(x)
    a.line = 4  # same as 'long-dash'
    support.check_plot(x)
    a.line = None  # use default line
    support.check_plot(x)

    ############################################################################
    # Change the vector line color                                             #
    ############################################################################
    a.linecolor = (77)
    support.check_plot(x)
    a.linecolor = 16
    support.check_plot(x)
    a.linecolor = 44  # same as a.color=(44)
    support.check_plot(x)
    a.linecolor = None
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.vector(u, v, a, 'default', bg=bg)  # plot vector using 'default' template
    support.check_plot(x)

    objs = x.listelements('template')  # get the list of templates
    t = x.createtemplate(
        'test')  # create template 'test' from 'default' template
    if not vcs.istemplate(t):  # test whether 't' is a template or not
        raise Exception, "Error template not created"
    else:
        a2 = x.listelements('template')  # get the list of templates
        if objs == a2:
            raise Exception, "Error template not created or added to list"

    x.clear()  # clear the VCS Canvas
    x.plot(t, a, u, v,
           bg=bg)  # plot vector template 't', outline 'a', and arrays 'u':'v'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.vector(a, u, v, t,
             bg=bg)  # plot using outline 'a', array 'u':'v', and template 't'
    support.check_plot(x)

    l = x.getline('red')  # get line 'red'
    if not vcs.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception, "Error object created is not line"

    ###########################################################################
    # Use the create line object 'm' from above and modify the line object    #
    ###########################################################################
    a.line = l  # use the line object
    support.check_plot(x)
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = 'dot'  # change the line type
    support.check_plot(x)
    l.width = 4  # change the line size
    support.check_plot(x)

    a = x.listelements('vector')  # show list of gm
    r = x.createvector('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('vector')  # show list of gm
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements('vector')  # show list of gm
    if a3 != a:
        raise "error gm not removed"

    #################################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    #################################################################################
    #x.update()
    #x.mode=1
    #x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   V E C T O R   T E S T   C O M P L E T E D   S U C E S S F U L L Y     ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
Exemple #5
0
def test():
   import vcs,cdms2 as cdms,time,os,sys,support          # import vcs and cu
   bg=support.bg
   
   f=cdms.open(os.path.join(cdms.__path__[0],'..','..','..','..','sample_data','clt.nc')) # open clt file
   s=f('clt')                   	# get slab clt
   x=vcs.init()                         # construct vcs canvas
   
   x.plot(s,'default','isoline','quick',bg=support.bg)# plot slab the old way
   support.check_plot(x)
   if bg == 0:
      x.geometry(450,337,0,0)		# change geometry and location
      support.check_plot(x)
      x.geometry(900,675,10,0)		# change geometry and location
      support.check_plot(x)
      x.flush()
      support.check_plot(x)

   
   a=x.getisoline('quick') 		# get 'quick' isoline graphics method
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs.isisoline(a):		# check for isoline
         raise Exception, "Error gm is not right type"
   
   a.script('test','w')                 # save 'quick' isoline as a Python script
   
   a.xticlabels('lon30','lon30')	# change the x-axis
   support.check_plot(x)
   a.xticlabels('','')                  # remove the x-axis
   support.check_plot(x)
   a.xticlabels('*')                    # put the x-axis back
   support.check_plot(x)
   a.datawc(-45.0, 45.0, -90.0, 90.0)   # change the region
   support.check_plot(x)
   a.datawc(1e20,1e20,1e20,1e20)        # put the region back
   support.check_plot(x)
	
 
   if not '--extended' in sys.argv:
     print '\n************* PARTIAL TEST *****************'
     print 'FOR COMPLETE TEST OF THIS MODULE USE '
     print '   -F (--full) or -E (--extended) option'
     print '************* PARTIAL TEST *****************\n'
     sys.exit()

  
   #########################################################################
   # Set the isoline level vales	     				   #
   #########################################################################
   a.level=([20,0.0],[30,0],[50,0],[60,0])	# change the isoline values
   support.check_plot(x)
   a.level=[[20,0.0],[30,0],[50,0]]	# change the isoline values
   support.check_plot(x)
   a.level=((20,0.0),(30,0),(50,0),(60,0),(70,0)) # change the isoline values
   support.check_plot(x)
   a.level=(25,35,45,55)		# change the isoline values
   support.check_plot(x)
   a.level=[(22,33,44,55,66)]		# change the isoline values
   support.check_plot(x)
   a.level=[(23,32,45,50,76),]		# change the isoline values
   support.check_plot(x)
   a.level=[0]      			# same as a.level=(0,)
   support.check_plot(x)
   a.level=[[0,1e20]] 			# same as a.level=((0,1e20),), use default settings
   support.check_plot(x)

   
   #########################################################################
   # Turn on and off the isoline level labels  				   #
   #########################################################################
   a.label='y'       			# same as a.label=1
   support.check_plot(x)
   a.label='n'       			# same as a.label=0
   support.check_plot(x)
   
   #########################################################################
   # Set the line style and line color        		 		   #
   #########################################################################
   a.level=((20,0.0),(30,0),(50,0),(60,0),(70,0)) # change the isoline values
   support.check_plot(x)
   a.line=[1,3,0,4]			# same as a.line=(1,3,0,4)
   support.check_plot(x)
   a.line=(['dash','long-dash','solid'])# same as a.line=([2,4,0])
   support.check_plot(x)
   a.line=[2,4,1,3,2,0]
   support.check_plot(x)
   a.linecolors=([22,33,44,55,66,77])	# change the line color
   support.check_plot(x)
   a.linecolors=(16,19,33,44)		# change the line color
   support.check_plot(x)
   a.linecolors=None			# use the default line color
   support.check_plot(x)
   a.line=None				# use the default line style, which is solid
   support.check_plot(x)
   
   #########################################################################
   # Set the text font and text color         		 		   #
   #########################################################################
   a.label='y'                          # same as a.label=1
   support.check_plot(x)
   a.text=(1,2,3,4,5,6,7,8,9)		# select fonts from 1 through 9
   support.check_plot(x)
   a.text=[9,8,7,6,5,4,3,2,1]
   support.check_plot(x)
   a.text=([1,3,5,6,9,2])
   support.check_plot(x)
   a.textcolors=([22,33,44,55,66,77])	# set the text color
   support.check_plot(x)
   a.textcolors=(16,19,33,44)
   support.check_plot(x)
   a.textcolors=None			# use default text color, black
   support.check_plot(x)
   a.text=None				# use default font, 1
   support.check_plot(x)
   
   #########################################################################
   # Create template 'test' from the default template			   #
   #########################################################################
   objs =x.listelements('template')                   # get the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error template not created"
   else:
      a2 =x.listelements('template')                   # get the list of templates
      if objs==a2:
         raise Exception,"Error template not created or added to list"
   
   #########################################################################
   # Create line object 'l' from the default line    			   #
   #########################################################################
   l=x.createline('test')
   objs = x.listelements('line')                      	# show the list of line secondary objects
   if not vcs.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs.isline(l):                  	# check to see if it is a line
         raise Exception, "Error object created is not line"
   
   x.clear()                            # clear the VCS Canvas
   x.isoline(s,a,t,bg=support.bg)			# plot the array using the template and isoline object
   support.check_plot(x)
   x.clear()                            # clear the VCS Canvas
   x.plot(t,a,s,bg=support.bg)			# plot again using the new way
   support.check_plot(x)
   
   #########################################################################
   # Use the create line object 'l' from above and modify the line object  #
   #########################################################################
   a.line=[1,3,0,4]        		# same as a.line=(1,3,0,4)
   support.check_plot(x)
   a.line=([2,4,0])        		# same as a.line=(['dash', 'long-dash', 'solid'])
   support.check_plot(x)
   a.line=(l,4,l,0)			# use the line object
   support.check_plot(x)
   a.line=(l,3,4,2,0)
   support.check_plot(x)
   l.color = 44				# change the line color
   support.check_plot(x)
   l.type ='dash'			# change the line type
   support.check_plot(x)
   
   #########################################################################
   # Create the three types of text objects                                #
   #########################################################################
   tc = x.createtextcombined('testc','std', 'testc','7left')
   if not vcs.istextcombined(tc):
      raise Exception,"Error not textcombined!"
   
   tt = x.createtexttable('testt', 'default')
   if not vcs.istexttable(tt):
      raise Exception,"Error not texttable"
   
   to = x.createtextorientation('testo')
   if not vcs.istextorientation(to):
      raise Exception,"Error not textorientation"
   
   #########################################################################
   # Use the text objects in the isoline plot                              #
   #########################################################################
   a.label='y'				# make sure that the labels are turn on
   support.check_plot(x)
   a.text=([1,3,5,6,9,2])		# set the font
   support.check_plot(x)
   a.text=([tc,tt,to,6,9,2])		# use the created text objects and fonts
   support.check_plot(x)
   
   #########################################################################
   # Change the text object values                                         #
   #########################################################################
   tc.font = 3				# changing isoline level 20
   support.check_plot(x)
   tc.height=15
   support.check_plot(x)
   tc.angle=180
   support.check_plot(x)
   tc.color=242
   support.check_plot(x)
   tt.font=2				# changing isoline level 30
   support.check_plot(x)
   tt.spacing=20
   support.check_plot(x)
   to.height=15				# changing isoline level 50
   support.check_plot(x)
   to.path='down'
   support.check_plot(x)
   
   a.text=None				# use default font, which is font 1
   support.check_plot(x)
   a.line=None				# use default line, which is solid
   support.check_plot(x)
   
   a = x.listelements('isoline')                      # show list of gm
   r=x.createisoline('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('isoline')                      # show list of gm
   if a2==a:
      raise "error gm not created or not added to list"
   x.removeobject(r)                    # remove xyvsy 'test2'
   a3 = x.listelements('isoline')                      # show list of gm
   if a3!=a:
      raise "error gm not removed"
   
   #################################################################################
   # to see how x.update and x.mode work, see testisoline.py                       #
   #################################################################################
   #x.update()
   #x.mode=1
   #x.mode=0
   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   I S O L I N E   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
   print '******                                                                         ******'
   print '*************************************************************************************'
Exemple #6
0
def test():
    import vcs
    import cdms2 as cdms
    import os
    import support          # import vcs and cdms

    bg = support.bg

    f = cdms.open(os.path.join(vcs.sample_data, 'clt.nc'))  # open clt file
    u = f('u')  			        # get slab u
    x = vcs.init()                         # construct vcs canvas

    x.plot(u, 'default', 'yxvsx', 'ASD7', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if support.dogui:
        x.geometry(450, 337, 100, 0)		# change the geometry and location
        x.flush()
        support.check_plot(x)

    a = x.getyxvsx('ASD7')		    	# get 'ASD7' yxvsx
    # test object 'a' for graphics method
    if not vcs.isgraphicsmethod(a):
        raise Exception("Error not a gm")
    else:
        if not vcs.isyxvsx(a):                  # test object 'a' if yxvsx
            raise Exception("Error wrong type of gm")

    # save 'ASD7' yxvsx as a Python script
    a.script('test', 'w')

    a.xticlabels('', '')                  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')                    # put the x-axis
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx line                                                    #
    ##########################################################################
    a.line = 0        			# same as 'solid'
    support.check_plot(x)
    a.line = 1        			# same as 'dash'
    support.check_plot(x)
    a.line = 2        			# same as 'dot'
    support.check_plot(x)
    a.line = 3        			# same as 'dash-dot'
    support.check_plot(x)
    a.line = 4        			# same as 'long-dash'
    support.check_plot(x)

    if '--extended' not in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    ##########################################################################
    # Change the yxvsx line color                                              #
    ##########################################################################
    a.linecolor = (77)
    support.check_plot(x)
    a.linecolor = 16
    support.check_plot(x)
    a.linecolor = 44  			# same as a.color=(44)
    support.check_plot(x)
    a.linecolor = None
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker                                                  #
    ##########################################################################
    a.marker = 1                        	# Same as a.marker='dot'
    support.check_plot(x)
    a.marker = 2                       	# Same as a.marker='plus'
    support.check_plot(x)
    a.marker = 3                       	# Same as a.marker='star'
    support.check_plot(x)
    a.marker = 4                       	# Same as a.marker='circle'
    support.check_plot(x)
    a.marker = 5                        	# Same as a.marker='cross'
    support.check_plot(x)
    a.marker = 6                        	# Same as a.marker='diamond'
    support.check_plot(x)
    a.marker = 7                        	# Same as a.marker='triangle_up'
    support.check_plot(x)
    a.marker = 8                        	# Same as a.marker='triangle_down'
    support.check_plot(x)
    a.marker = 9                        	# Same as a.marker='triangle_left'
    support.check_plot(x)
    a.marker = 10                       	# Same as a.marker='triangle_right'
    support.check_plot(x)
    a.marker = 11                       	# Same as a.marker='square'
    support.check_plot(x)
    a.marker = 12                       	# Same as a.marker='diamond_fill'
    support.check_plot(x)
    a.marker = 13                       	# Same as a.marker='triangle_up_fill'
    support.check_plot(x)
    # Same as a.marker='triangle_down_fill'
    a.marker = 14
    support.check_plot(x)
    # Same as a.marker='triangle_left_fill'
    a.marker = 15
    support.check_plot(x)
    # Same as a.marker='triangle_right_fill'
    a.marker = 16
    support.check_plot(x)
    a.marker = 17                       	# Same as a.marker='square_fill'
    support.check_plot(x)
    a.marker = None                     	# Draw no markers
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker color                                            #
    ##########################################################################
    a.marker = 'dot'
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44        		# same as a.markercolor=(44)
    support.check_plot(x)
    a.markercolor = None
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker size                                             #
    ##########################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 10
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)

    x.clear()                            # clear the VCS Canvas
    x.yxvsx(u, a, 'default', bg=bg)		# plot yxvsx using 'default' template
    support.check_plot(x)

    # show the list of templates
    # create template 'test' from 'default' template
    t = x.createtemplate('test')
    # test whether 't' is a template or not
    if not vcs.istemplate(t):
        raise Exception("Error creating tmeplate")

    x.clear()                            # clear the VCS Canvas
    # plot yxvsx template 't', outline 'a', and arrays 'u':'v'
    x.plot(t, a, u, bg=bg)
    support.check_plot(x)
    x.clear()                            # clear the VCS Canvas
    # plot using outline 'a', array 'u':'v', and template 't'
    x.yxvsx(a, u, t, bg=bg)
    support.check_plot(x)

    # show the list of line secondary objects
    l = x.getline('red')                	# get line 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(l):
        raise Exception("Error did not get line")
    else:
        if not vcs.isline(l):                  	# check to see if it is a line
            raise Exception("Error object created is not line")

    ###########################################################################
    # Use the create line object 'm' from above and modify the line object    #
    ###########################################################################
    a.line = l                             # use the line object
    support.check_plot(x)
    l.color = 44                         # change the line color
    support.check_plot(x)
    l.type = 'dot'                       # change the line type
    support.check_plot(x)
    l.width = 4 				# change the line size
    support.check_plot(x)

    # show the list of marker secondary objects
    m = x.getmarker('red')                 # get marker 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(m):
        raise Exception("Error did not get marker")
    else:
        # check to see if it is a line
        if not vcs.ismarker(m):
            raise Exception("Error object created is not marker")

    ###########################################################################
    # Use the create marker object 'm' from above and modify the line object  #
    ###########################################################################
    a.marker = m                           # use the marker object
    support.check_plot(x)
    m.color = 44                         # change the marker color
    support.check_plot(x)
    m.type = 'square'                     # change the marker type
    support.check_plot(x)
    m.size = 20                            # change the marker size
    support.check_plot(x)

    a = x.listelements('yxvsx')                      # show list of xyvsy
    r = x.createyxvsx('test2', 'ASD1')     # create xyvsy 'test2'
    a2 = x.listelements('yxvsx')                      # show list of xyvsy
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)                    # remove xyvsy 'test2'
    a3 = x.listelements('yxvsx')                      # show list of xyvsy
    if a3 != a:
        raise "error gm not removed"

    ##########################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    ##########################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   Y x v s x   T E S T   C O M P L E T E D   S U C E S S F U L L Y       ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
Exemple #7
0
def test():
    import vcs, cdms2 as cdms, time, os, sys, support  # import vcs and cu

    bg = support.bg

    f = cdms.open(
        os.path.join(cdms.__path__[0], '..', '..', '..', '..', 'sample_data',
                     'clt.nc'))  # open clt file
    s = f('clt')  # get slab clt
    x = vcs.init()  # construct vcs canvas

    a = x.createoutline('test')  # create 'test' outline
    if not vcs.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs.isoutline(a):  # check for outline
            raise Exception, "Error gm is not right type"

    x.plot(s, 'default', 'outline', 'test', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    s = f('u')  # get u slab
    x.clear()  # clear the VCS Canvas
    x.plot(s, 'default', 'outline', 'test', bg=bg)  # plot the surface data
    support.check_plot(x)

    a.script('test', 'w')  # save 'test' outline as a Python script

    a.xticlabels('lon30', 'lon30')  # change the x-axis
    support.check_plot(x)
    a.xticlabels('', '')  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')  # put the x-axis
    support.check_plot(x)
    a.datawc(-45.0, 45.0, -90.0, 90.0)  # change the region
    support.check_plot(x)
    a.datawc(1e20, 1e20, 1e20, 1e20)  # put the region back
    support.check_plot(x)

    cont = False
    for anarg in sys.argv:
        if anarg in ['--extended', '--full', '-E', '-F']:
            cont = True
            break
    if cont is False:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    a.outline = ([0])  # set the outline value
    support.check_plot(x)
    a.line = 0  # same as 'solid', change the line style
    support.check_plot(x)
    a.line = 1  # same as 'dash', change the line style
    support.check_plot(x)
    a.line = 2  # same as 'dot', change the line style
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot', change the line style
    support.check_plot(x)
    a.line = 4  # same as 'long-dash', change the line style
    support.check_plot(x)
    a.linecolor = (77)  # change the line color
    support.check_plot(x)
    a.linecolor = 16  # change the line color
    support.check_plot(x)
    a.linecolor = 44  # same as a.linecolor=(44)
    support.check_plot(x)
    a.linecolor = None  # use the default line color, black
    support.check_plot(x)
    a.line = None  # use default line style, solid black line
    support.check_plot(x)

    a.outline = ([1])  # set the outline value
    support.check_plot(x)
    a.outline = ([0, 1])  # set the outline value
    support.check_plot(x)
    a.outline = ([0])  # set the outline value
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.outline(s, a, 'default', bg=bg)  # plot outline using 'default' template
    support.check_plot(x)

    objs = x.listelements('template')  # get the list of templates
    t = x.createtemplate(
        'test')  # create template 'test' from 'default' template
    if not vcs.istemplate(t):  # test whether 't' is a template or not
        raise Exception, "Error template not created"
    else:
        a2 = x.listelements('template')  # get the list of templates
        if objs == a2:
            raise Exception, "Error template not created or added to list"

    x.clear()  # clear the VCS Canvas
    x.plot(t, a, s,
           bg=bg)  # plot outline template 't', outline 'a', and array 's'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.outline(a, s, t,
              bg=bg)  # plot using outline 'a', array 's', and template 't'
    support.check_plot(x)

    #########################################################################
    # Create line object 'l' from the default line                          #
    #########################################################################
    #########################################################################
    objs = x.listelements('line')  # show the list of line secondary objects
    l = x.createline('test')
    if not vcs.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception, "Error object created is not line"

    #########################################################################
    # Use the create line object 'l' from above and modify the line object  #
    #########################################################################
    a.line = l  # use the line object
    support.check_plot(x)
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = 'dash'  # change the line type
    support.check_plot(x)

    a = x.listelements('outline')  # show list of gm
    r = x.createoutline('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('outline')  # show list of gm
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements('outline')  # show list of gm
    if a3 != a:
        raise "error gm not removed"

    #################################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    #################################################################################
    #x.update()
    #x.mode=1
    #x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   O U T F I L L   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
Exemple #8
0
def test():
    import vcs, cdms2 as cdms, time, os, sys, support  # import vcs and cdms

    bg = support.bg

    f = cdms.open(os.path.join(cdms.__path__[0], "..", "..", "..", "..", "sample_data", "clt.nc"))  # open clt file
    u = f("u")  # get slab u
    x = vcs.init()  # construct vcs canvas

    x.plot(u, "default", "xyvsy", "ASD7", bg=bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    a = x.getxyvsy("ASD7")  # get 'ASD1' xyvsy
    if not vcs.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs.isxyvsy(a):  # test object 'a' if xyvsy
            raise Exception, "Error gm is not right type"

    a.script("test", "w")  # save 'ASD7' xyvsy as a Python script

    a.xticlabels("", "")  # remove the x-axis
    support.check_plot(x)
    a.xticlabels("*")  # put the x-axis
    support.check_plot(x)

    ############################################################################
    # Change the xyvsy line                                                    #
    ############################################################################
    a.line = 0  # same as 'solid'
    support.check_plot(x)
    a.line = 1  # same as 'dash'
    support.check_plot(x)
    a.line = 2  # same as 'dot'
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot'
    support.check_plot(x)
    a.line = 4  # same as 'long-dash'
    support.check_plot(x)

    if not "--extended" in sys.argv:
        print "\n************* PARTIAL TEST *****************"
        print "FOR COMPLETE TEST OF THIS MODULE USE "
        print "   -F (--full) or -E (--extended) option"
        print "************* PARTIAL TEST *****************\n"
        sys.exit()

    ############################################################################
    # Change the xyvsy line color                                              #
    ############################################################################
    a.linecolor = 77
    support.check_plot(x)
    a.linecolor = 16
    support.check_plot(x)
    a.linecolor = 44  # same as a.color=(44)
    support.check_plot(x)
    a.linecolor = None
    support.check_plot(x)

    ############################################################################
    # Change the xyvsy marker                                                  #
    ############################################################################
    a.marker = 1  # Same as a.marker='dot'
    support.check_plot(x)
    a.marker = 2  # Same as a.marker='plus'
    support.check_plot(x)
    a.marker = 3  # Same as a.marker='star'
    support.check_plot(x)
    a.marker = 4  # Same as a.marker='circle'
    support.check_plot(x)
    a.marker = 5  # Same as a.marker='cross'
    support.check_plot(x)
    a.marker = 6  # Same as a.marker='diamond'
    support.check_plot(x)
    a.marker = 7  # Same as a.marker='triangle_up'
    support.check_plot(x)
    a.marker = 8  # Same as a.marker='triangle_down'
    support.check_plot(x)
    a.marker = 9  # Same as a.marker='triangle_left'
    support.check_plot(x)
    a.marker = 10  # Same as a.marker='triangle_right'
    support.check_plot(x)
    a.marker = 11  # Same as a.marker='square'
    support.check_plot(x)
    a.marker = 12  # Same as a.marker='diamond_fill'
    support.check_plot(x)
    a.marker = 13  # Same as a.marker='triangle_up_fill'
    support.check_plot(x)
    a.marker = 14  # Same as a.marker='triangle_down_fill'
    support.check_plot(x)
    a.marker = 15  # Same as a.marker='triangle_left_fill'
    support.check_plot(x)
    a.marker = 16  # Same as a.marker='triangle_right_fill'
    support.check_plot(x)
    a.marker = 17  # Same as a.marker='square_fill'
    support.check_plot(x)
    a.marker = None  # Draw no markers
    support.check_plot(x)

    ############################################################################
    # Change the xyvsy marker color                                            #
    ############################################################################
    a.marker = "dot"
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44  # same as a.markercolor=(44)
    support.check_plot(x)
    a.markercolor = None
    support.check_plot(x)

    ############################################################################
    # Change the xyvsy marker size                                             #
    ############################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 10
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.xyvsy(u, a, "default", bg=bg)  # plot xyvsy using 'default' template
    support.check_plot(x)

    objs = x.listelements("template")  # get the list of templates
    t = x.createtemplate("test")  # create template 'test' from 'default' template
    if not vcs.istemplate(t):  # test whether 't' is a template or not
        raise Exception, "Error template not created"
    else:
        a2 = x.listelements("template")  # get the list of templates
        if objs == a2:
            raise Exception, "Error template not created or added to list"

    x.clear()  # clear the VCS Canvas
    x.plot(t, a, u, bg=bg)  # plot xyvsy template 't', outline 'a', and arrays 'u':'v'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.xyvsy(a, u, t, bg=bg)  # plot using outline 'a', array 'u':'v', and template 't'
    support.check_plot(x)

    objs = x.listelements("line")  # show the list of line secondary objects
    l = x.getline("red")  # get line 'red'
    if not vcs.issecondaryobject(l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception, "Error object created is not line"

    ###########################################################################
    # Use the create line object 'm' from above and modify the line object    #
    ###########################################################################
    a.line = l  # use the line object
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = "dot"  # change the line type
    support.check_plot(x)
    l.width = 4  # change the line size
    support.check_plot(x)

    objs = x.listelements("marker")  # show the list of marker secondary objects
    m = x.getmarker("red")  # get marker 'red'
    if not vcs.issecondaryobject(m):  # check to see if it is a secondary object
        raise Exception, "Error did not get marker"
    else:
        if not vcs.ismarker(m):  # check to see if it is a line
            raise Exception, "Error object created is not marker"

    ###########################################################################
    # Use the create marker object 'm' from above and modify the line object  #
    ###########################################################################
    a.marker = m  # use the marker object
    support.check_plot(x)
    m.color = 44  # change the marker color
    support.check_plot(x)
    m.type = "square"  # change the marker type
    support.check_plot(x)
    m.size = 20  # change the marker size
    support.check_plot(x)

    a = x.listelements("xyvsy")  # show list of xyvsy
    r = x.createxyvsy("test2", "ASD1")  # create xyvsy 'test2'
    a2 = x.listelements("xyvsy")  # show list of xyvsy
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements("xyvsy")  # show list of xyvsy
    if a3 != a:
        raise "error gm not removed"

    #################################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    #################################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print "*************************************************************************************"
    print "******                                                                         ******"
    print "******   X y v s y   T E S T   C O M P L E T E D   S U C E S S F U L L Y       ******"
    print "******                                                                         ******"
    print "*************************************************************************************"
Exemple #9
0
def test():
   import vcs,time,support,sys,os                      # import vcs and cu
   bg=support.bg
   
   x=vcs.init()                         # construct vcs canvas
   
   x.plot('default','continents','ASD',bg=bg)# plot slab the old way
   support.check_plot(x)
   if bg==0:
      x.geometry(450,337,100,0)            # change the geometry and location
      x.flush()
      support.check_plot(x)
      
   
   
   obj = x.listelements('continents')                 # show list of continents
   a=x.createcontinents('quick')         	# get 'quick' continents
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error not a gm"
   else:
      if not vcs.iscontinents(a):             # test object 'a' if continents
         raise Exception,"Error wrong type of gm"
   x.clear()
   x.plot(a,bg=bg)
   support.check_plot(x)
   
   a.script('test','w')                 # save 'quick' continents as a Python script
   
   a.xticlabels('','')                  # remove the x-axis
   support.check_plot(x)
   a.xticlabels('lon30','lon30')        # change the x-axis
   support.check_plot(x)
   a.xticlabels('*')                    # put the x-axis
   support.check_plot(x)
   a.datawc(-45.0, 45.0, -90.0, 90.0)   # change the region
   support.check_plot(x)
   a.datawc(1e20,1e20,1e20,1e20)        # put the region back
   support.check_plot(x)
   

   if not '--extended' in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()


  
   a.line=1                             # same as 'dash', change the line style
   support.check_plot(x)
   a.line=2                             # same as 'dot', change the line style
   support.check_plot(x)
   a.line=3                             # same as 'dash-dot', change the line style
   support.check_plot(x)
   a.line=0                             # same as 'solid', change the line style
   support.check_plot(x)
   a.line=4                             # same as 'long-dash', change the line style
   support.check_plot(x)
   a.linecolor=(77)                     # change the line color
   support.check_plot(x)
   a.linecolor=16                       # change the line color
   support.check_plot(x)
   a.linecolor=44                       # same as a.linecolor=(44)
   support.check_plot(x)
   a.linecolor=None                     # use the default line color, black
   support.check_plot(x)
   a.line=None                          # use default line style, solid black line
   support.check_plot(x)
   
   x.clear()                            # clear the VCS Canvas
   x.continents(a,'default',bg=bg)            # plot continents using 'default' template
   support.check_plot(x)
   
   objs =x.listelements('template')                   # get the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error template not created"
   else:
      a2 =x.listelements('template')                   # get the list of templates
      if objs==a2:
         raise Exception,"Error template not created or added to list"
   
   x.clear()                            # clear the VCS Canvas
   x.plot(t,a,bg=bg)                          # plot continents using template 't', and continents 'a'
   support.check_plot(x)
   x.clear()                            # clear the VCS Canvas
   x.continents(a,t,bg=bg)			# plot continents
   support.check_plot(x)
 
   #########################################################################
   # Create line object 'l' from the default line                          #
   #########################################################################
   objs = x.listelements('line')                      	# show the list of line secondary objects
   l=x.getline('red')                	# get line 'red'
   if not vcs.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs.isline(l):                  	# check to see if it is a line
         raise Exception, "Error object created is not line"
   
   #########################################################################
   # Use the create line object 'l' from above and modify the line object  #
   #########################################################################
   a.line=l                             # use the line object
   support.check_plot(x)
   l.color = 44                         # change the line color
   support.check_plot(x)
   l.type ='dash'                       # change the line type
   support.check_plot(x)
   
   a = x.listelements('continents')                      # show list of xyvsy
   r=x.createcontinents('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('continents')                      # show list of xyvsy
   if a2==a:
      raise "error gm not created or not added to list"
##    x.removeobject(r)                    # remove xyvsy 'test2'
##    a3 = x.listelements('continents')                      # show list of xyvsy
##    if a3!=a:
##       raise "error gm not removed"

   a=x.getcontinents('quick')           # get 'quick' boxfill graphics method
   x.clear()
   x.plot(a,bg=bg)
   support.check_plot(x)
   if support.dogui:
      x.graphicsmethodgui('continents','quick')  # display the continents graphics method GUI

   #################################################################################
   # to see how x.update and x.mode work, see testoutline.py                       #
   #################################################################################
   #x.update()
   #x.mode=1
   #x.mode=0

   print '*******************************************************************************************'
   print '******                                                                               ******'
   print '******   C O N T I N E N T S   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
   print '******                                                                               ******'
   print '*******************************************************************************************'
Exemple #10
0
def test():
   import vcs,cdms2 as cdms,time,os,sys,support          # import vcs and cu
   bg=support.bg
   
   f=cdms.open(os.path.join(cdms.__path__[0],'..','..','..','..','sample_data','clt.nc')) # open clt file
   u=f.getslab('u',':',':',-10.,0.,0,10)# get slab u
   v=f.getslab('v',':',':',-10.,0.,0,10)# get slab v
   x=vcs.init()                         # construct vcs canvas
   
   x.plot(u, v, 'default','vector','quick',bg=bg)	# plot slab the old way
   support.check_plot(x)
   if bg==0:
      x.geometry(450,337,100,0)		# change the geometry and location
      x.flush()
      support.check_plot(x)
   
   a=x.getvector('quick')		# get 'quick' vector
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs.isvector(a):                 # test object 'a' if vector
         raise Exception, "Error gm is not right type"
   
   a.script('test','w')                 # save 'quick' vector as a Python script
   
   
   a.xticlabels('','')                  # remove the x-axis
   support.check_plot(x)
   a.xticlabels('*')                    # put the x-axis
   support.check_plot(x)
   
   ############################################################################
   # Change the vector scale                                                  #
   ############################################################################
   a.scale=2.0
   support.check_plot(x)
   a.scale=5.0
   support.check_plot(x)
   a.scale=1.5
   support.check_plot(x)
   a.scale=0.0
   support.check_plot(x)
   a.scale=-1.5
   support.check_plot(x)
   a.scale=-2.0
   support.check_plot(x)
   a.scale=-5.0
   support.check_plot(x)
   
   ############################################################################
   # Change the vector typeiiiiiii                                            #
   ############################################################################
   a.type=0				# same as a.type = 'arrows'
   support.check_plot(x)
   a.type=1				# same as a.type = 'barbs'
   support.check_plot(x)
##    a.type=2				# same as a.type = 'solidarrows'
##    support.check_plot(x)
##    raw_input("Done...")


   if not '--extended' in sys.argv:
     print '\n************* PARTIAL TEST *****************'
     print 'FOR COMPLETE TEST OF THIS MODULE USE '
     print '   -F (--full) or -E (--extended) option'
     print '************* PARTIAL TEST *****************\n'
     sys.exit()


 



   ############################################################################
   # Change the vector reference                                              #
   ############################################################################
   a.reference=10.
   support.check_plot(x)
   a.reference=100.
   support.check_plot(x)
   a.reference=4.
   support.check_plot(x)
   a.reference=5.
   support.check_plot(x)
   
   ############################################################################
   # Change the vector alignment                                              #
   ############################################################################
   a.alignment='head'      		# same as a.alignment=0
   support.check_plot(x)
   a.alignment='center'    		# same as a.alignment=1
   support.check_plot(x)
   a.alignment='tail'      		# same as a.alignment=2
   support.check_plot(x)
   
   ############################################################################
   # Change the vector line                                                   #
   ############################################################################
   a.line=0        			# same as 'solid'
   support.check_plot(x)
   a.line=1       			# same as 'dash'
   support.check_plot(x)
   a.line=2        			# same as 'dot'
   support.check_plot(x)
   a.line=3        			# same as 'dash-dot'
   support.check_plot(x)
   a.line=4        			# same as 'long-dash'
   support.check_plot(x)
   a.line=None        			# use default line   
   support.check_plot(x)
   
   ############################################################################
   # Change the vector line color                                             #
   ############################################################################
   a.linecolor=(77)
   support.check_plot(x)
   a.linecolor=16
   support.check_plot(x)
   a.linecolor=44  # same as a.color=(44)
   support.check_plot(x)
   a.linecolor=None
   support.check_plot(x)
   
   x.clear()                            # clear the VCS Canvas
   x.vector(u, v, a,'default',bg=bg)		# plot vector using 'default' template
   support.check_plot(x)
   
   objs =x.listelements('template')                   # get the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error template not created"
   else:
      a2 =x.listelements('template')                   # get the list of templates
      if objs==a2:
         raise Exception,"Error template not created or added to list"
   
   x.clear()                            # clear the VCS Canvas
   x.plot(t,a,u,v,bg=bg)                      # plot vector template 't', outline 'a', and arrays 'u':'v'
   support.check_plot(x)
   x.clear()                            # clear the VCS Canvas
   x.vector(a,u,v,t,bg=bg)                    # plot using outline 'a', array 'u':'v', and template 't'
   support.check_plot(x)
   
   l=x.getline('red')                	# get line 'red'
   if not vcs.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs.isline(l):                  	# check to see if it is a line
         raise Exception, "Error object created is not line"
   
   ###########################################################################
   # Use the create line object 'm' from above and modify the line object    #
   ###########################################################################
   a.line=l                             # use the line object
   support.check_plot(x)
   l.color = 44                         # change the line color
   support.check_plot(x)
   l.type ='dot'                    # change the line type
   support.check_plot(x)
   l.width=4 				# change the line size
   support.check_plot(x)
   
   a = x.listelements('vector')                      # show list of gm
   r=x.createvector('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('vector')                      # show list of gm
   if a2==a:
      raise "error gm not created or not added to list"
   x.removeobject(r)                    # remove xyvsy 'test2'
   a3 = x.listelements('vector')                      # show list of gm
   if a3!=a:
      raise "error gm not removed"
   
   #################################################################################
   # to see how x.update and x.mode work, see testoutline.py                       #
   #################################################################################
   #x.update()
   #x.mode=1
   #x.mode=0
   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   V E C T O R   T E S T   C O M P L E T E D   S U C E S S F U L L Y     ******'
   print '******                                                                         ******'
   print '*************************************************************************************'
Exemple #11
0
def test():
   import vcs,cdms2 as cdms,time,os,sys,support          # import vcs and cu
   bg=support.bg

   f=cdms.open(os.path.join(cdms.__path__[0],'..','..','..','..','sample_data','clt.nc')) # open clt file
   u=f('u')  				# get slab u
   v=f('v') 				# get slab v
   x=vcs.init()                         # construct vcs canvas
   
   a=x.createxvsy('quick')		# create 'quick' xvsy
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs.isxvsy(a):                   # test object 'a' if xvsy
         raise Exception, "Error gm is not right type"

   x.plot(u, v, 'default','xvsy','quick',bg=bg)	# plot slabs the old way
   support.check_plot(x)
   if bg==0:
      x.geometry(450,337,100,0)		# change the geometry and location
      x.flush()                            
      support.check_plot(x)
   
   
   a.script('test','w')                 # save 'quick' xvsy as a Python script
   
   a.xticlabels('','')                  # remove the x-axis
   support.check_plot(x)
   a.xticlabels('*')                    # put the x-axis
   support.check_plot(x)
   
   ############################################################################
   # Change the xvsy line                                                     #
   ############################################################################
   a.line=0        			# same as 'solid'
   support.check_plot(x)
   a.line=1        			# same as 'dash'
   support.check_plot(x)
   a.line=2        			# same as 'dot'
   support.check_plot(x)
   a.line=3        			# same as 'dash-dot'
   support.check_plot(x)
   a.line=4        			# same as 'long-dash'
   support.check_plot(x)
   

   if not '--extended' in sys.argv:
     print '\n************* PARTIAL TEST *****************'
     print 'FOR COMPLETE TEST OF THIS MODULE USE '
     print '   -F (--full) or -E (--extended) option'
     print '************* PARTIAL TEST *****************\n'
     sys.exit()



   ############################################################################
   # Change the xvsy line color                                               #
   ############################################################################
   a.linecolor=(77)
   support.check_plot(x)
   a.linecolor=16
   support.check_plot(x)
   a.linecolor=44  			# same as a.color=(44)
   support.check_plot(x)
   a.linecolor=None
   support.check_plot(x)
   
   ############################################################################
   # Change the xvsy marker                                                   #
   ############################################################################
   a.marker=1                        	# Same as a.marker='dot'
   support.check_plot(x)
   a.marker=2                       	# Same as a.marker='plus'
   support.check_plot(x)
   a.marker=3                       	# Same as a.marker='star'
   support.check_plot(x)
   a.marker=4                       	# Same as a.marker='circle'
   support.check_plot(x)
   a.marker=5                        	# Same as a.marker='cross'
   support.check_plot(x)
   a.marker=6                        	# Same as a.marker='diamond'
   support.check_plot(x)
   a.marker=7                        	# Same as a.marker='triangle_up'
   support.check_plot(x)
   a.marker=8                        	# Same as a.marker='triangle_down'
   support.check_plot(x)
   a.marker=9                        	# Same as a.marker='triangle_left'
   support.check_plot(x)
   a.marker=10                       	# Same as a.marker='triangle_right'
   support.check_plot(x)
   a.marker=11                       	# Same as a.marker='square'
   support.check_plot(x)
   a.marker=12                       	# Same as a.marker='diamond_fill'
   support.check_plot(x)
   a.marker=13                       	# Same as a.marker='triangle_up_fill'
   support.check_plot(x)
   a.marker=14                       	# Same as a.marker='triangle_down_fill'
   support.check_plot(x)
   a.marker=15                       	# Same as a.marker='triangle_left_fill'
   support.check_plot(x)
   a.marker=16                      	# Same as a.marker='triangle_right_fill'
   support.check_plot(x)
   a.marker=17                       	# Same as a.marker='square_fill'
   support.check_plot(x)
   a.marker=None                     	# Draw no markers
   support.check_plot(x)
   
   ############################################################################
   # Change the xvsy marker color                                             #
   ############################################################################
   a.marker='dot'
   support.check_plot(x)
   a.markercolor=16
   support.check_plot(x)
   a.markercolor=44        		# same as a.markercolor=(44)
   support.check_plot(x)
   a.markercolor=None
   support.check_plot(x)
   
   ############################################################################
   # Change the xvsy marker size                                              #
   ############################################################################
   a.markersize=5
   support.check_plot(x)
   a.markersize=55
   support.check_plot(x)
   a.markersize=10
   support.check_plot(x)
   a.markersize=100
   support.check_plot(x)
   a.markersize=300
   support.check_plot(x)
   a.markersize=None
   support.check_plot(x)
   
   x.clear()                            # clear the VCS Canvas
   x.xvsy(u, v, a,'default',bg=bg)		# plot xvsy using 'default' template
   support.check_plot(x)
   
   #########################################################################
   # Create template 'test' from the default template			   #
   #########################################################################
   objs =x.listelements('template')                   # get the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error template not created"
   else:
      a2 =x.listelements('template')                   # get the list of templates
      if objs==a2:
         raise Exception,"Error template not created or added to list"
   
   x.clear()                            # clear the VCS Canvas
   x.plot(t,a,u,v,bg=bg)                      # plot xvsy template 't', outline 'a', and arrays 'u':'v'
   support.check_plot(x)
   x.clear()                            # clear the VCS Canvas
   x.xvsy(a,u,v,t,bg=bg)                      # plot using outline 'a', array 'u':'v', and template 't'
   support.check_plot(x)
   
   l=x.getline('red')                	# get line 'red'
   if not vcs.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs.isline(l):                  	# check to see if it is a line
         raise Exception, "Error object created is not line"
   
   ###########################################################################
   # Use the create line object 'm' from above and modify the line object    #
   ###########################################################################
   a.line=l                             # use the line object
   support.check_plot(x)
   l.color = 44                         # change the line color
   support.check_plot(x)
   l.type ='dot'                       # change the line type
   support.check_plot(x)
   l.width=4 				# change the line size
   support.check_plot(x)
   
   m=x.getmarker('red')                 # get marker 'red'
   if not vcs.issecondaryobject(m):           # check to see if it is a secondary object
      raise Exception,"Error did not get marker"
   else:
      if not vcs.ismarker(m):                  	# check to see if it is a line
         raise Exception, "Error object created is not marker"

   ###########################################################################
   # Use the create marker object 'm' from above and modify the line object  #
   ###########################################################################
   a.marker=m                           # use the marker object
   support.check_plot(x)
   m.color = 44                         # change the marker color
   support.check_plot(x)
   m.type ='square'                     # change the marker type
   support.check_plot(x)
   m.size=20                            # change the marker size
   support.check_plot(x)
   
   a = x.listelements('xvsy')                      # show list of gm
   r=x.createxvsy('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('xvsy')                      # show list of gm
   if a2==a:
      raise "error gm not created or not added to list"
   x.removeobject(r)                    # remove xyvsy 'test2'
   a3 = x.listelements('xvsy')                      # show list of gm
   if a3!=a:
      raise "error gm not removed"
   
   #################################################################################
   # to see how x.update and x.mode work, see testoutline.py                       #
   #################################################################################
   #x.update()
   #x.mode=1
   #x.mode=0
   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   X v s Y   T E S T   C O M P L E T E D   S U C E S S F U L L Y         ******'
   print '******                                                                         ******'
   print '*************************************************************************************'
Exemple #12
0
def test():
    import vcs
    import cdms2 as cdms
    import os
    import support  # import vcs and cdms

    bg = support.bg

    f = cdms.open(os.path.join(vcs.sample_data, 'clt.nc'))  # open clt file
    u = f('u')  # get slab u
    x = vcs.init()  # construct vcs canvas

    x.plot(u, 'default', 'yxvsx', 'ASD7', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if support.dogui:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    a = x.getyxvsx('ASD7')  # get 'ASD7' yxvsx
    # test object 'a' for graphics method
    if not vcs.isgraphicsmethod(a):
        raise Exception("Error not a gm")
    else:
        if not vcs.isyxvsx(a):  # test object 'a' if yxvsx
            raise Exception("Error wrong type of gm")

    # save 'ASD7' yxvsx as a Python script
    a.script('test', 'w')

    a.xticlabels('', '')  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')  # put the x-axis
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx line                                                    #
    ##########################################################################
    a.line = 0  # same as 'solid'
    support.check_plot(x)
    a.line = 1  # same as 'dash'
    support.check_plot(x)
    a.line = 2  # same as 'dot'
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot'
    support.check_plot(x)
    a.line = 4  # same as 'long-dash'
    support.check_plot(x)

    if '--extended' not in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    ##########################################################################
    # Change the yxvsx line color                                              #
    ##########################################################################
    a.linecolor = (77)
    support.check_plot(x)
    a.linecolor = 16
    support.check_plot(x)
    a.linecolor = 44  # same as a.color=(44)
    support.check_plot(x)
    a.linecolor = None
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker                                                  #
    ##########################################################################
    a.marker = 1  # Same as a.marker='dot'
    support.check_plot(x)
    a.marker = 2  # Same as a.marker='plus'
    support.check_plot(x)
    a.marker = 3  # Same as a.marker='star'
    support.check_plot(x)
    a.marker = 4  # Same as a.marker='circle'
    support.check_plot(x)
    a.marker = 5  # Same as a.marker='cross'
    support.check_plot(x)
    a.marker = 6  # Same as a.marker='diamond'
    support.check_plot(x)
    a.marker = 7  # Same as a.marker='triangle_up'
    support.check_plot(x)
    a.marker = 8  # Same as a.marker='triangle_down'
    support.check_plot(x)
    a.marker = 9  # Same as a.marker='triangle_left'
    support.check_plot(x)
    a.marker = 10  # Same as a.marker='triangle_right'
    support.check_plot(x)
    a.marker = 11  # Same as a.marker='square'
    support.check_plot(x)
    a.marker = 12  # Same as a.marker='diamond_fill'
    support.check_plot(x)
    a.marker = 13  # Same as a.marker='triangle_up_fill'
    support.check_plot(x)
    # Same as a.marker='triangle_down_fill'
    a.marker = 14
    support.check_plot(x)
    # Same as a.marker='triangle_left_fill'
    a.marker = 15
    support.check_plot(x)
    # Same as a.marker='triangle_right_fill'
    a.marker = 16
    support.check_plot(x)
    a.marker = 17  # Same as a.marker='square_fill'
    support.check_plot(x)
    a.marker = None  # Draw no markers
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker color                                            #
    ##########################################################################
    a.marker = 'dot'
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44  # same as a.markercolor=(44)
    support.check_plot(x)
    a.markercolor = None
    support.check_plot(x)

    ##########################################################################
    # Change the yxvsx marker size                                             #
    ##########################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 10
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.yxvsx(u, a, 'default', bg=bg)  # plot yxvsx using 'default' template
    support.check_plot(x)

    # show the list of templates
    # create template 'test' from 'default' template
    t = x.createtemplate('test')
    # test whether 't' is a template or not
    if not vcs.istemplate(t):
        raise Exception("Error creating tmeplate")

    x.clear()  # clear the VCS Canvas
    # plot yxvsx template 't', outline 'a', and arrays 'u':'v'
    x.plot(t, a, u, bg=bg)
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    # plot using outline 'a', array 'u':'v', and template 't'
    x.yxvsx(a, u, t, bg=bg)
    support.check_plot(x)

    # show the list of line secondary objects
    l = x.getline('red')  # get line 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(l):
        raise Exception("Error did not get line")
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception("Error object created is not line")

    ###########################################################################
    # Use the create line object 'm' from above and modify the line object    #
    ###########################################################################
    a.line = l  # use the line object
    support.check_plot(x)
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = 'dot'  # change the line type
    support.check_plot(x)
    l.width = 4  # change the line size
    support.check_plot(x)

    # show the list of marker secondary objects
    m = x.getmarker('red')  # get marker 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(m):
        raise Exception("Error did not get marker")
    else:
        # check to see if it is a line
        if not vcs.ismarker(m):
            raise Exception("Error object created is not marker")

    ###########################################################################
    # Use the create marker object 'm' from above and modify the line object  #
    ###########################################################################
    a.marker = m  # use the marker object
    support.check_plot(x)
    m.color = 44  # change the marker color
    support.check_plot(x)
    m.type = 'square'  # change the marker type
    support.check_plot(x)
    m.size = 20  # change the marker size
    support.check_plot(x)

    a = x.listelements('yxvsx')  # show list of xyvsy
    r = x.createyxvsx('test2', 'ASD1')  # create xyvsy 'test2'
    a2 = x.listelements('yxvsx')  # show list of xyvsy
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements('yxvsx')  # show list of xyvsy
    if a3 != a:
        raise "error gm not removed"

    ##########################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    ##########################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   Y x v s x   T E S T   C O M P L E T E D   S U C E S S F U L L Y       ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
def test():
    import vcs, time, support, sys, os  # import vcs and cu
    bg = support.bg

    x = vcs.init()  # construct vcs canvas

    x.plot('default', 'continents', 'ASD', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    obj = x.listelements('continents')  # show list of continents
    a = x.createcontinents('quick')  # get 'quick' continents
    if not vcs.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error not a gm"
    else:
        if not vcs.iscontinents(a):  # test object 'a' if continents
            raise Exception, "Error wrong type of gm"
    x.clear()
    x.plot(a, bg=bg)
    support.check_plot(x)

    a.script('test', 'w')  # save 'quick' continents as a Python script

    a.xticlabels('', '')  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('lon30', 'lon30')  # change the x-axis
    support.check_plot(x)
    a.xticlabels('*')  # put the x-axis
    support.check_plot(x)
    a.datawc(-45.0, 45.0, -90.0, 90.0)  # change the region
    support.check_plot(x)
    a.datawc(1e20, 1e20, 1e20, 1e20)  # put the region back
    support.check_plot(x)

    if not '--extended' in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    a.line = 1  # same as 'dash', change the line style
    support.check_plot(x)
    a.line = 2  # same as 'dot', change the line style
    support.check_plot(x)
    a.line = 3  # same as 'dash-dot', change the line style
    support.check_plot(x)
    a.line = 0  # same as 'solid', change the line style
    support.check_plot(x)
    a.line = 4  # same as 'long-dash', change the line style
    support.check_plot(x)
    a.linecolor = (77)  # change the line color
    support.check_plot(x)
    a.linecolor = 16  # change the line color
    support.check_plot(x)
    a.linecolor = 44  # same as a.linecolor=(44)
    support.check_plot(x)
    a.linecolor = None  # use the default line color, black
    support.check_plot(x)
    a.line = None  # use default line style, solid black line
    support.check_plot(x)

    x.clear()  # clear the VCS Canvas
    x.continents(a, 'default',
                 bg=bg)  # plot continents using 'default' template
    support.check_plot(x)

    objs = x.listelements('template')  # get the list of templates
    t = x.createtemplate(
        'test')  # create template 'test' from 'default' template
    if not vcs.istemplate(t):  # test whether 't' is a template or not
        raise Exception, "Error template not created"
    else:
        a2 = x.listelements('template')  # get the list of templates
        if objs == a2:
            raise Exception, "Error template not created or added to list"

    x.clear()  # clear the VCS Canvas
    x.plot(t, a,
           bg=bg)  # plot continents using template 't', and continents 'a'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.continents(a, t, bg=bg)  # plot continents
    support.check_plot(x)

    #########################################################################
    # Create line object 'l' from the default line                          #
    #########################################################################
    objs = x.listelements('line')  # show the list of line secondary objects
    l = x.getline('red')  # get line 'red'
    if not vcs.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs.isline(l):  # check to see if it is a line
            raise Exception, "Error object created is not line"

    #########################################################################
    # Use the create line object 'l' from above and modify the line object  #
    #########################################################################
    a.line = l  # use the line object
    support.check_plot(x)
    l.color = 44  # change the line color
    support.check_plot(x)
    l.type = 'dash'  # change the line type
    support.check_plot(x)

    a = x.listelements('continents')  # show list of xyvsy
    r = x.createcontinents('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('continents')  # show list of xyvsy
    if a2 == a:
        raise "error gm not created or not added to list"


##    x.removeobject(r)                    # remove xyvsy 'test2'
##    a3 = x.listelements('continents')                      # show list of xyvsy
##    if a3!=a:
##       raise "error gm not removed"

    a = x.getcontinents('quick')  # get 'quick' boxfill graphics method
    x.clear()
    x.plot(a, bg=bg)
    support.check_plot(x)
    if support.dogui:
        x.graphicsmethodgui(
            'continents',
            'quick')  # display the continents graphics method GUI

    #################################################################################
    # to see how x.update and x.mode work, see testoutline.py                       #
    #################################################################################
    #x.update()
    #x.mode=1
    #x.mode=0

    print '*******************************************************************************************'
    print '******                                                                               ******'
    print '******   C O N T I N E N T S   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
    print '******                                                                               ******'
    print '*******************************************************************************************'
Exemple #14
0
def test():
   import vcs,cdms2 as cdms,time,os,sys,support          # import vcs and cu

   bg= support.bg
   
   f=cdms.open(os.path.join(cdms.__path__[0],'..','..','..','..','sample_data','clt.nc')) # open clt file
   s=f('clt')                           # get slab clt
   x=vcs.init()                         # construct vcs canvas
   

   a=x.createoutline('test')           # create 'test' outline
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs.isoutline(a):		# check for outline
         raise Exception, "Error gm is not right type"

   x.plot(s,'default','outline','test',bg=bg)# plot slab the old way
   support.check_plot(x)
   if bg==0:
      x.geometry(450,337,100,0)            # change the geometry and location
      x.flush()
      support.check_plot(x)
   
   s=f('u')	                        # get u slab
   x.clear()                            # clear the VCS Canvas
   x.plot(s,'default','outline','test',bg=bg)# plot the surface data
   support.check_plot(x)
   
   
   a.script('test','w')			# save 'test' outline as a Python script
   
   a.xticlabels('lon30','lon30')        # change the x-axis
   support.check_plot(x)
   a.xticlabels('','')                  # remove the x-axis
   support.check_plot(x)
   a.xticlabels('*')                    # put the x-axis
   support.check_plot(x)
   a.datawc(-45.0, 45.0, -90.0, 90.0)   # change the region
   support.check_plot(x)
   a.datawc(1e20,1e20,1e20,1e20)        # put the region back
   support.check_plot(x)
   

   cont = False
   for anarg in sys.argv:
      if anarg in ['--extended', '--full','-E','-F']:
         cont = True
         break
   if cont is False:
     print '\n************* PARTIAL TEST *****************'
     print 'FOR COMPLETE TEST OF THIS MODULE USE '
     print '   -F (--full) or -E (--extended) option'
     print '************* PARTIAL TEST *****************\n'
     sys.exit()

   a.outline=([0])			# set the outline value
   support.check_plot(x)
   a.line=0        			# same as 'solid', change the line style
   support.check_plot(x)
   a.line=1        			# same as 'dash', change the line style
   support.check_plot(x)
   a.line=2        			# same as 'dot', change the line style
   support.check_plot(x)
   a.line=3        			# same as 'dash-dot', change the line style
   support.check_plot(x)
   a.line=4        			# same as 'long-dash', change the line style
   support.check_plot(x)
   a.linecolor=(77)			# change the line color
   support.check_plot(x)
   a.linecolor=16			# change the line color
   support.check_plot(x)
   a.linecolor=44  			# same as a.linecolor=(44)
   support.check_plot(x)
   a.linecolor=None			# use the default line color, black
   support.check_plot(x)
   a.line=None				# use default line style, solid black line
   support.check_plot(x)

   a.outline=([1])			# set the outline value
   support.check_plot(x)
   a.outline=([0,1])			# set the outline value
   support.check_plot(x)
   a.outline=([0])			# set the outline value
   support.check_plot(x)
   
   x.clear()                            # clear the VCS Canvas
   x.outline(s,a,'default',bg=bg)             # plot outline using 'default' template
   support.check_plot(x)
   
   objs =x.listelements('template')                   # get the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error template not created"
   else:
      a2 =x.listelements('template')                   # get the list of templates
      if objs==a2:
         raise Exception,"Error template not created or added to list"
   
   x.clear()				# clear the VCS Canvas
   x.plot(t,a,s,bg=bg)			# plot outline template 't', outline 'a', and array 's'
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.outline(a,s,t,bg=bg)			# plot using outline 'a', array 's', and template 't'
   support.check_plot(x)
   
   #########################################################################
   # Create line object 'l' from the default line                          #
   #########################################################################
   #########################################################################
   objs = x.listelements('line')                      	# show the list of line secondary objects
   l=x.createline('test')
   if not vcs.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs.isline(l):                  	# check to see if it is a line
         raise Exception, "Error object created is not line"
   
   #########################################################################
   # Use the create line object 'l' from above and modify the line object  #
   #########################################################################
   a.line=l				# use the line object
   support.check_plot(x)
   l.color = 44                         # change the line color
   support.check_plot(x)
   l.type ='dash'                       # change the line type
   support.check_plot(x)
   
   
   a = x.listelements('outline')                      # show list of gm
   r=x.createoutline('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('outline')                      # show list of gm
   if a2==a:
      raise "error gm not created or not added to list"
   x.removeobject(r)                    # remove xyvsy 'test2'
   a3 = x.listelements('outline')                      # show list of gm
   if a3!=a:
      raise "error gm not removed"
   
   
   #################################################################################
   # to see how x.update and x.mode work, see testoutline.py                       #
   #################################################################################
   #x.update()                             
   #x.mode=1
   #x.mode=0
   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   O U T F I L L   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
   print '******                                                                         ******'
   print '*************************************************************************************'
Exemple #15
0
def test():
    import vcs
    import cdms2 as cdms
    import os
    import support          # import vcs and cu
    bg = support.bg

    f = cdms.open(os.path.join(vcs.sample_data, 'clt.nc'))  # open clt file
    s = f('clt')                   	# get slab clt
    x = vcs.init()                         # construct vcs canvas

    x.plot(
        s,
        'default',
        'isoline',
        'quick',
        bg=support.bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 0, 0)		# change geometry and location
        support.check_plot(x)
        x.geometry(900, 675, 10, 0)		# change geometry and location
        support.check_plot(x)
        x.flush()
        support.check_plot(x)

    a = x.getisoline('quick') 		# get 'quick' isoline graphics method
    # test object 'a' for graphics method
    if not vcs.isgraphicsmethod(a):
        raise Exception("Error did not retrieve the gm")
    else:
        if not vcs.isisoline(a):		# check for isoline
            raise Exception("Error gm is not right type")

    # save 'quick' isoline as a Python script
    a.script('test', 'w')

    a.xticlabels('lon30', 'lon30')  # change the x-axis
    support.check_plot(x)
    a.xticlabels('', '')                  # remove the x-axis
    support.check_plot(x)
    a.xticlabels('*')                    # put the x-axis back
    support.check_plot(x)
    a.datawc(-45.0, 45.0, -90.0, 90.0)   # change the region
    support.check_plot(x)
    a.datawc(1e20, 1e20, 1e20, 1e20)        # put the region back
    support.check_plot(x)

    if '--extended' not in sys.argv:
        print '\n************* PARTIAL TEST *****************'
        print 'FOR COMPLETE TEST OF THIS MODULE USE '
        print '   -F (--full) or -E (--extended) option'
        print '************* PARTIAL TEST *****************\n'
        sys.exit()

    #########################################################################
    # Set the isoline level vales	     				   #
    #########################################################################
    # change the isoline values
    a.level = ([20, 0.0], [30, 0], [50, 0], [60, 0])
    support.check_plot(x)
    a.level = [[20, 0.0], [30, 0], [50, 0]]  # change the isoline values
    support.check_plot(x)
    # change the isoline values
    a.level = ((20, 0.0), (30, 0), (50, 0), (60, 0), (70, 0))
    support.check_plot(x)
    a.level = (25, 35, 45, 55)		# change the isoline values
    support.check_plot(x)
    a.level = [(22, 33, 44, 55, 66)]		# change the isoline values
    support.check_plot(x)
    a.level = [(23, 32, 45, 50, 76), ]		# change the isoline values
    support.check_plot(x)
    a.level = [0]      			# same as a.level=(0,)
    support.check_plot(x)
    # same as a.level=((0,1e20),), use default settings
    a.level = [[0, 1e20]]
    support.check_plot(x)

    #########################################################################
    # Turn on and off the isoline level labels  				   #
    #########################################################################
    a.label = 'y'       			# same as a.label=1
    support.check_plot(x)
    a.label = 'n'       			# same as a.label=0
    support.check_plot(x)

    #########################################################################
    # Set the line style and line color        		 		   #
    #########################################################################
    # change the isoline values
    a.level = ((20, 0.0), (30, 0), (50, 0), (60, 0), (70, 0))
    support.check_plot(x)
    a.line = [1, 3, 0, 4]			# same as a.line=(1,3,0,4)
    support.check_plot(x)
    a.line = (['dash', 'long-dash', 'solid'])  # same as a.line=([2,4,0])
    support.check_plot(x)
    a.line = [2, 4, 1, 3, 2, 0]
    support.check_plot(x)
    a.linecolors = ([22, 33, 44, 55, 66, 77])  # change the line color
    support.check_plot(x)
    a.linecolors = (16, 19, 33, 44)		# change the line color
    support.check_plot(x)
    a.linecolors = None			# use the default line color
    support.check_plot(x)
    a.line = None				# use the default line style, which is solid
    support.check_plot(x)

    #########################################################################
    # Set the text font and text color         		 		   #
    #########################################################################
    a.label = 'y'                          # same as a.label=1
    support.check_plot(x)
    a.text = (1, 2, 3, 4, 5, 6, 7, 8, 9)		# select fonts from 1 through 9
    support.check_plot(x)
    a.text = [9, 8, 7, 6, 5, 4, 3, 2, 1]
    support.check_plot(x)
    a.text = ([1, 3, 5, 6, 9, 2])
    support.check_plot(x)
    a.textcolors = ([22, 33, 44, 55, 66, 77])  # set the text color
    support.check_plot(x)
    a.textcolors = (16, 19, 33, 44)
    support.check_plot(x)
    a.textcolors = None			# use default text color, black
    support.check_plot(x)
    a.text = None				# use default font, 1
    support.check_plot(x)

    #########################################################################
    # Create template 'test' from the default template			   #
    #########################################################################
    # get the list of templates
    objs = x.listelements('template')
    # create template 'test' from 'default' template
    t = x.createtemplate('test')
    # test whether 't' is a template or not
    if not vcs.istemplate(t):
        raise Exception("Error template not created")
    else:
        # get the list of templates
        a2 = x.listelements('template')
        if objs == a2:
            raise Exception("Error template not created or added to list")

    #########################################################################
    # Create line object 'l' from the default line    			   #
    #########################################################################
    l = x.createline('test')
    # show the list of line secondary objects
    objs = x.listelements('line')
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(l):
        raise Exception("Error did not get line")
    else:
        if not vcs.isline(l):                  	# check to see if it is a line
            raise Exception("Error object created is not line")

    x.clear()                            # clear the VCS Canvas
    # plot the array using the template and isoline object
    x.isoline(s, a, t, bg=support.bg)
    support.check_plot(x)
    x.clear()                            # clear the VCS Canvas
    x.plot(t, a, s, bg=support.bg)			# plot again using the new way
    support.check_plot(x)

    #########################################################################
    # Use the create line object 'l' from above and modify the line object  #
    #########################################################################
    a.line = [1, 3, 0, 4]        		# same as a.line=(1,3,0,4)
    support.check_plot(x)
    # same as a.line=(['dash', 'long-dash', 'solid'])
    a.line = ([2, 4, 0])
    support.check_plot(x)
    a.line = (l, 4, l, 0)			# use the line object
    support.check_plot(x)
    a.line = (l, 3, 4, 2, 0)
    support.check_plot(x)
    l.color = 44				# change the line color
    support.check_plot(x)
    l.type = 'dash'			# change the line type
    support.check_plot(x)

    #########################################################################
    # Create the three types of text objects                                #
    #########################################################################
    tc = x.createtextcombined('testc', 'std', 'testc', '7left')
    if not vcs.istextcombined(tc):
        raise Exception("Error not textcombined!")

    tt = x.createtexttable('testt', 'default')
    if not vcs.istexttable(tt):
        raise Exception("Error not texttable")

    to = x.createtextorientation('testo')
    if not vcs.istextorientation(to):
        raise Exception("Error not textorientation")

    #########################################################################
    # Use the text objects in the isoline plot                              #
    #########################################################################
    a.label = 'y'				# make sure that the labels are turn on
    support.check_plot(x)
    a.text = ([1, 3, 5, 6, 9, 2])		# set the font
    support.check_plot(x)
    a.text = ([tc, tt, to, 6, 9, 2])		# use the created text objects and fonts
    support.check_plot(x)

    #########################################################################
    # Change the text object values                                         #
    #########################################################################
    tc.font = 3				# changing isoline level 20
    support.check_plot(x)
    tc.height = 15
    support.check_plot(x)
    tc.angle = 180
    support.check_plot(x)
    tc.color = 242
    support.check_plot(x)
    tt.font = 2				# changing isoline level 30
    support.check_plot(x)
    tt.spacing = 20
    support.check_plot(x)
    to.height = 15				# changing isoline level 50
    support.check_plot(x)
    to.path = 'down'
    support.check_plot(x)

    a.text = None				# use default font, which is font 1
    support.check_plot(x)
    a.line = None				# use default line, which is solid
    support.check_plot(x)

    a = x.listelements('isoline')                      # show list of gm
    r = x.createisoline('test2', 'quick')     # create xyvsy 'test2'
    a2 = x.listelements('isoline')                      # show list of gm
    if a2 == a:
        raise "error gm not created or not added to list"
    x.removeobject(r)                    # remove xyvsy 'test2'
    a3 = x.listelements('isoline')                      # show list of gm
    if a3 != a:
        raise "error gm not removed"

    ##########################################################################
    # to see how x.update and x.mode work, see testisoline.py                       #
    ##########################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   I S O L I N E   T E S T   C O M P L E T E D   S U C E S S F U L L Y   ******'
    print '******                                                                         ******'
    print '*************************************************************************************'