コード例 #1
0
x = vcs.init()
t = x.createtemplate('jj')
m = x.createmeshfill('hh')
m.mesh = 'y'

m = x.createisofill('jj')

t.scale(.8)
t.legend.y2 = .8

t.legend.x1 = .8
t.legend.x2 = .82

x.plot(s, t, m, bg=bg)
support.check_plot(x)
x.clear()

t.legend.x2 = .78
t.legend.x1 = .8
x.plot(s, m, t, bg=bg)
support.check_plot(x)
x.clear()

t.legend.y2 = t.legend.y1
t.legend.y1 = .8
x.plot(s, m, t, bg=bg)
support.check_plot(x)
x.clear()

t.legend.x1 = .2
コード例 #2
0
ファイル: testvector.py プロジェクト: ptbremer/uvcdat-devel
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 '*************************************************************************************'
コード例 #3
0
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy 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_legacy.init()  # construct vcs_legacy 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_legacy.isgraphicsmethod(
            a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs_legacy.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_legacy.issecondaryobject(
            m):  # check to see if it is a secondary object
        raise Exception, "Error did not get marker"
    else:
        if not vcs_legacy.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 '*************************************************************************************'
コード例 #4
0
ファイル: test_marker_update.py プロジェクト: NESII/uvcdat
import vcs
import support
bg = support.bg

tp = vcs.init()
tp.portrait()

mark = tp.createmarker('mark')
mark.x = [0.5]
mark.y = [.9]
mark.color = 242
mark.type = 'cross'
mark.size = 12
n = 4
i = 0
tp.plot(mark, bg=bg)
support.check_plot(tp)
tp.mode = 0  # no aauto update
for i in range(1, 3):
    mark.y = [1. - (i / float(n))]
    tp.plot(mark, bg=bg)
    support.check_plot(tp)
tp.update()
support.check_plot(tp)
tp.mode = 1
for i in range(1, n):
    mark.y = [1. - (i / float(n))]
    tp.plot(mark, bg=bg)
    support.check_plot(tp)
コード例 #5
0
ファイル: testcontinents.py プロジェクト: arulalant/uvcdat
def test():
   import vcs_legacy,time,support,sys,os                      # import vcs_legacy and cu
   bg=support.bg
   
   x=vcs_legacy.init()                         # construct vcs_legacy 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_legacy.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error not a gm"
   else:
      if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs_legacy.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 '*******************************************************************************************'
コード例 #6
0
ファイル: testisofill.py プロジェクト: NESII/uvcdat
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'))
    s = f('clt')                           # get slab clt
    x = vcs.init()                         # construct vcs canvas

    x.plot(s, 'default', 'isofill', 'quick', bg=bg)  # plot slab the old way
    support.check_plot(x)

    # Check the legend
    g = x.createisofill('vcsmoduletest')
    x.clear()				# clear the VCS Canvas
    x.plot(s, g, bg=bg)				# plot slab the new way
    support.check_plot(x)
    g.legend = (10, 30, 70, 120)
    support.check_plot(x)
    g.legend = {0: 'test string1', 50: 'test string2', 100: 'test string3'}
    support.check_plot(x)
    g.legend = None
    support.check_plot(x)

    if bg == 0:
        x.geometry(450, 337, 100, 0)		# change the geometry and location
        x.flush()
        support.check_plot(x)

    # open and plot a missing data with isofill
    f = cdms.open(os.path.join(vcs.sample_data, 'tas_cru_1979.nc'))
    s = f('tas', longitude=(-180, 180), latitude=(-90, 90)) + 273.15
    x.clear()				# clear the VCS Canvas
    x.plot(
        s,
        'default',
        'isofill',
        'quick',
        bg=bg)  # plot missing value slabe the old way
    support.check_plot(x)

    a = x.getisofill('quick') 		# get 'quick' isofill 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.isisofill(a):		# check for isofill
            raise Exception("Error gm is not right type")

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

    x.setcolormap("AMIP")		# change the colormap from default to AMIP

    a.missing = 241			# change the missing background color to black
    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()

    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)

    a.levels = ([0, 220], [230, 240], [250, 260])  # change the isofill levels
    support.check_plot(x)
    # change the isofill levels
    a.levels = ([0, 220, 225, 230, 235, 240], [230, 240], [250, 260])
    support.check_plot(x)
    a.levels = ([0, 220, 225, 230, 235, 240],)  # change the isofill levels
    support.check_plot(x)
    # change the isofill levels
    a.levels = ([0, 220, 225, 230, 235, 240, 245, 250])
    support.check_plot(x)
    a.levels = [0, 220, 225, 230, 235, 240] 	# change the isofill levels
    support.check_plot(x)
    a.levels = (
        0.0,
        220.0,
        225.0,
        230.0,
        235.0,
        240.0,
        250.0)		# change the isofill levels
    support.check_plot(x)
    a.levels = ([1e20],)			# change back to default settings
    support.check_plot(x)
    a.levels = (
        0,
        220,
        225,
        230,
        235,
        240,
        250,
        260,
        270)  # change the isofill levels
    support.check_plot(x)

    ##########################################################################
    # Below will produce an error. Later, if needed, I will add this functionality.	   #
    # a.levels=('0','20','25','30')			# this will produce an error	   #
    ##########################################################################

    a.ext_1 = 'y'				# add the extended legend arrow to the left
    support.check_plot(x)
    a.ext_1 = 'n'				# remove the extended legend arrow to the left
    support.check_plot(x)
    a.ext_2 = 'y'				# add the extended legend arrow to the right
    support.check_plot(x)
    a.ext_2 = 'n'				# remove the extended legend arrow to the right
    support.check_plot(x)
    a.exts('y', 'y')			# add the extended legend arrow to left and right
    support.check_plot(x)
    a.exts('n', 'n')			# remove the extended legend arrow to left and right
    support.check_plot(x)

    a.fillareastyle = 'pattern'		# change the fill style to pattern
    support.check_plot(x)
    a.fillareastyle = 'hatch'		# change the fill style to hatch
    support.check_plot(x)
    a.fillareaindices = ([1, 3, 5, 6, 9, 18])  # set the hatch index patterns
    support.check_plot(x)

    # set the fill area color indices
    a.fillareacolors = ([22, 33, 44, 55, 66, 77])
    support.check_plot(x)
    a.fillareacolors = None			# use default color indices
    support.check_plot(x)
    a.fillareastyle = 'solid'			# change the fill style back to solid
    support.check_plot(x)

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

    # 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")

    # show the list of fillarea secondary objects
    objs = x.listelements('fillarea')
    f = x.getfillarea('AuTo_1')                	# get fillarea 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(f):
        raise Exception("Error did not get fillarea")
    else:
        # check to see if it is a fillarea
        if not vcs.isfillarea(f):
            raise Exception("Error object created is not fillarea")

    a.levels = (
        220,
        225,
        230,
        235,
        240,
        250,
        260,
        270,
        280,
        290,
        300,
        310)  # change the isofill levels
    x.clear()				# clear the VCS Canvas
    x.plot(a, t, s, bg=bg)			# plot array using isofill 'a' and template 't'
    support.check_plot(x)
    a.fillareaindices = (3, 4, 7, 9, 11)  # set the indices
    support.check_plot(x)
    a.fillareaindices = (
        f,
        f,
        f,
        f,
        f,
        f)  # set the indices using the fillarea object
    support.check_plot(x)
    a.fillareaindices = (
        f,
        2,
        4,
        7)		# reset the indices using the fillarea object
    support.check_plot(x)
    a.fillareaindices = (
        7,
        f,
        f,
        f,
        8)  # resett the indices using the fillare object
    support.check_plot(x)

    f.color = 44				# change the fillarea object's color
    support.check_plot(x)
    f.style = 'hatch'			# change the fillarea object's fill style
    support.check_plot(x)

    x.scriptobject(a, 'test')		# save 'quick' isofill as a Python script
    x.scriptobject(f, 'test')		# save 'def37' fill area as a Python script

    a = x.listelements('isofill')                      # show list of gm
    r = x.createisofill('test2', 'quick')     # create xyvsy 'test2'
    a2 = x.listelements('isofill')                      # 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('isofill')                      # show list of gm
    if a3 != a:
        raise "error gm not removed"

    ##########################################################################
    # to see how x.update and x.mode work, see testisofill.py			   #
    ##########################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   I S O 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 '*************************************************************************************'
コード例 #7
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
   s=f('clt')                           # get slab clt
   x=vcs.init()                         # construct vcs canvas
   

   x.plot(s,'default','outfill','ASD_map',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
      support.check_plot(x)
      x.flush()
      support.check_plot(x)
   
   
   s=f('u')	                        # get u slab
   x.clear()                            # clear the VCS Canvas
   x.plot(s,'default','outfill','ASD_map',bg=bg)# plot the surface data
   support.check_plot(x)
   
   a=x.createoutfill('quick')		# create 'quick' outfill
   if not vcs.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs.isoutfill(a):		# check for isofill
         raise Exception, "Error gm is not right type"
   
   a.script('test','w')			# save 'quick' outfill 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()
   

   x.clear()                            # clear the VCS Canvas
   x.outfill(s,a,'default',bg=bg)             # plot outfill using 'default' template
   
   a.fillareastyle='hatch'		# change the fill style to hatch
   support.check_plot(x)
   a.fillareaindex=11			# change the hatch index pattern
   support.check_plot(x)
   a.fillareacolor=(77)			# change the hatch color
   support.check_plot(x)
   a.fillareacolor=16			# chnage the hatch color
   support.check_plot(x)
   a.fillareacolor=44			# same as a.fillareacolor=(44)
   support.check_plot(x)
   a.fillareacolor=None			# use the default hatch color (black)
   support.check_plot(x)
   a.outfill=([0])			# set the outfill value
   support.check_plot(x)
   a.outfill=([1])			# set the outfill value
   support.check_plot(x)
   a.outfill=([0,1])			# set the outfill value
   support.check_plot(x)
   a.outfill=([0])			# set the outfill value
   support.check_plot(x)
   
   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(a, t, s,bg=bg)			# plot outfill template 't', outfill 'a', and array 's'
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.outfill(a,s,t,bg=bg)			# plot using outfill 'a', array 's', and template 't'
   support.check_plot(x)
   
   objs = x.listelements('fillarea')                      	# show the list of fillarea secondary objects
   f=x.getfillarea('AuTo_1')                	# get fillarea 'red'
   if not vcs.issecondaryobject(f):           # check to see if it is a secondary object
      raise Exception,"Error did not get fillarea"
   else:
      if not vcs.isfillarea(f):                  	# check to see if it is a fillarea
         raise Exception, "Error object created is not fillarea"
   a.fillareastyle=f
   support.check_plot(x)
   f.color=44                           # change the fillarea object's color
   support.check_plot(x)
   f.style='hatch'                      # change the fillarea object's fill style
   support.check_plot(x)
   
   a = x.listelements('outfill')                      # show list of gm
   r=x.createoutfill('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('outfill')                      # 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('outfill')                      # show list of gm
   if a3!=a:
      raise "error gm not removed"
   
   
   #################################################################################
   # to see how x.update and x.mode work, see testoutfill.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 '*************************************************************************************'
   return x, s
コード例 #8
0
ファイル: testprimitives.py プロジェクト: AZed/uvcdat
def test():

   import vcs,support,sys
   bg=support.bg
   
   x=vcs.init()
   
   # For plotting of each test case, set the pause time to 1.
   x.pause_time=1
   
   ############################ First Test ###############################
   
   # Set the global viewport values only.
   #
   # Remember, must set global x.viewport (vp) and/or x.world coordinate (wc)
   # values before calling { [x.createline, x.createmarker, x.createfillarea,
   # x.createtext], [x.getline, x.getmarker, x.getfillarea, x.gettext],
   # [x.drawline, x.drawmarker, x.drawfillarea, x.drawtext] }.
   #
   # If the global viewport (vp) and world coordinate (wc) values are set 
   # and the, functions, listed above, do not specify them, then the global
   # settings will override the default settings.
   #
   # If the functions listed above have vp and wc set as an argument, then 
   # these vp and wc values will be used instead of the global vp and wc
   # values.
   #
   # Draw text on the screen.
   tex=x.createtext('nTtex','std','nToex','7left')
   tex.height = 25
   tex.x=[0.1, 0.1]
   tex.y=[0.97, 0.93]
   tex.string=['Example of drawing VCS low-level primitives.', 'Also, an example of using the viewport to clip graphics.']
   x.plot(tex,bg=bg)
   support.check_plot(x)
   #
   # At this point, let the world coordinate values remain at the default
   # settings [0, 1, 0, 1], but change the viewport.
   x.viewport=[0.3,0.7,0.3,0.7]
   support.check_plot(x)
   
   # Create the line, marker, fill area, and text objects
   ln=x.createline('new')
   mk=x.createmarker('new')
   fa=x.createfillarea('new')
   t=x.createtext('newTt','std','newTo','7left')
   
   # Draw a box around the entire VCS Canvas viewport. It will use the
   # global viewport set above and use the default world coordinate values:
   # Remember the default values for vp and wc are:
   #            viewport         = [0.0, 1.0, 0.0, 1.0]
   #            worldcoordinate  = [0.0, 1.0, 0.0, 1.0]
   ln.x=[0, 1, 1, 0, 0]		# x line positions
   ln.y=[0, 0, 1, 1, 0]		# y line positions
   ln.width=4  			# test width
   ln.color = 242 			# test color
   ln.type = 4			# test line type
   x.plot(ln,bg=bg)			# plot lines
   support.check_plot(x)
   
   # Draw text on the screen. Use global vp and default wc.
   t.x = [0.2, 0.7]		# x text positions
   t.y = [0.7, 0.7]		# y text positions
   t.string=['PCMDI', 'CDAT']	# text strings
   t.color=243			# text color
   t.height = 90			# text size
   x.plot(t,bg=bg)			# plot text
   support.check_plot(x)
   
   # Draw fill area on screen. Use global vp and default wc.
   fa.x=[[0.0,0.5,0.5,0.0],[0.5,1.0,0.75]]  # x fill area positions
   fa.y=[[0.0,0.0,0.5,0.5],[0.5,0.5,0.0]]   # x fill area positions
   
   # fa.color=[241,243] cannot do this! How important is this?
   
   fa.color=241				# fill area color
   fa.style='solid'			# fill area style
   fa.index=3				# fill area index
   x.plot(fa,bg=bg)				# plot fill area
   support.check_plot(x)
  
   
   # Draw marker on screen. Use global vp and default wc.
   mk.x=[[0.5,0.2],[0.3,0.7,1.0]]	# x marker positions
   mk.y=[[0.5,0.2],[0.3,0.7,0.5]]	# y marker positions
   mk.color=242			# marker color
   mk.size=50			# marker size
   mk.type='dot'			# marker type
   x.plot(mk,bg=bg)			# plot marker
   support.check_plot(x)
   
   ############################ First Test completed ######################

 
   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()

   
   ############################ Second Test ###############################
   # Reset the global viewport values.
   x.viewport=[0.2,0.8,0.2,0.8]
   support.check_plot(x)
   
   # Redraw a box around the drawing area, but use 'x.line' instead of 'x.plot'.
   ln = x.getline('new')
   x.line(ln,bg=bg)
   support.check_plot(x)
   
   # Redraw markers, but use 'x.marker', instead of 'x.plot'.
   mk = x.getmarker('new')
   x.marker(mk,bg=bg)
   support.check_plot(x)
   
   # Redraw fill area, but use 'x.fillarea', instead of 'x.plot'.
   fa = x.getfillarea('new')
   x.fillarea(fa,bg=bg)
   support.check_plot(x)
   
   # Redraw text, but use 'x.text', instead of 'x.plot'.
   t= x.gettext('newTt', 'newTo')
   x.text(t,bg=bg)
   support.check_plot(x)

   ############################ Second Test completed ######################
   
   ############################ Third Test ###############################
   # Change the drawing area's world coordinate from [0,1,0,1] to [0,2,0,2]
   # via primitive's graphics method, then redraw. The graphics will be drawn
   # in the lower left corner. This is because the line x and y values are 
   # between (0 and 1) and the wc values are now between (0 and 2).
   
   ln.worldcoordinate=[0,2, 0,2]	# set wc
   support.check_plot(x)
   x.plot(ln,bg=bg)
   support.check_plot(x)
   
   # Note how the most right marker is not clipped
   mk.worldcoordinate=[0,2, 0,2]	# set wc
   support.check_plot(x)
   x.plot(mk,bg=bg)
   
   fa.worldcoordinate=[0,2, 0,2]
   support.check_plot(x)
   fa.color = 240			# change color to white
   support.check_plot(x)
   x.plot(fa,bg=bg)
   support.check_plot(x)
   
   t.worldcoordinate=[0,2, 0,2]	# set wc
   x.plot(t,bg=bg)
   support.check_plot(x)

   ############################ Third Test completed ######################
   
   
   ############################ Fourth Test ###############################
   #
   # Clear the VCS Canvas and redraw graphics using Python list of lists.
   #
   # Remember, the viewport and world coordinates for the graphics primitives
   # are:
   #       viewport         = [0.2, 0.8, 0.2, 0.8]
   #       worldcoordinate  = [0, 2, 0, 2]
   x.clear()
   
   # Draw multiple line segments
   ln.x=[[0.0,2.0,2.0,0.0,0.0], [0.5,1.5]]	# x line positions
   ln.y=[[0.0,0.0,2.0,2.0,0.0], [1.0,1.0]] # y line positions
   ln.type='solid'
   x.plot(ln,bg=bg)
   support.check_plot(x)
   
   # Draw multiple marker segments
   mk.x=[[0.8,1.3],[0.5,1.0,1.5]]  # x marker positions
   mk.y=[[1.5,1.5],[0.5,0.5,0.5]]  # y marker positions
   x.plot(mk,bg=bg)
   support.check_plot(x)
   
   # Draw multiple fill area segments
   fa.x=[[0.2,0.5,0.5,0.2],[1.2,1.8,1.8,1.2]]  # x fill area positions
   fa.y=[[0.2,0.2,0.5,0.5],[1.2,1.2,1.8,1.8]]   # x fill area positions
   fa.color=241
   x.plot(fa,bg=bg)
   support.check_plot(x)
   
   # Draw multiple text segments
   t.x = [0.5, 1.17]                # x text positions
   t.y = [0.8, 0.8]                # y text positions
   t.string=['Text 1', 'Text 2']   # text strings
   t.color=244                     # text color
   t.height = 90                   # text size
   x.plot(t,bg=bg)                       # plot text
   support.check_plot(x)

   
   
   ############################ Fourth Test completed ######################
   
   ############################ Fifth Test ###############################
   # Change the viewport only to a different shape and replot.
   # 1st change
   ln.viewport=[0.0,0.2,0.0,0.8]
   support.check_plot(x)
   x.plot(ln,bg=bg)
   support.check_plot(x)

   mk.viewport=[0.0,0.2,0.0,0.8]
   support.check_plot(x)
   x.plot(mk,bg=bg)
   support.check_plot(x)
   fa.viewport=[0.0,0.2,0.0,0.8]
   support.check_plot(x)
   x.plot(fa,bg=bg)
   support.check_plot(x)
   t.viewport=[0.0,0.2,0.0,0.8]
   support.check_plot(x)
   x.plot(t,bg=bg)
   support.check_plot(x)
   
   # 2nd change
   ln.viewport=[0.0,0.8,0.0,0.2]
   support.check_plot(x)
   x.plot(ln,bg=bg)
   support.check_plot(x)
   mk.viewport=[0.0,0.8,0.0,0.2]
   support.check_plot(x)
   x.plot(mk,bg=bg)
   support.check_plot(x)
   fa.viewport=[0.0,0.8,0.0,0.2]
   support.check_plot(x)
   x.plot(fa,bg=bg)
   support.check_plot(x)
   t.viewport=[0.0,0.8,0.0,0.2]
   support.check_plot(x)
   x.plot(t,bg=bg)
   support.check_plot(x)
   
   ############################ Fifth Test completed ######################
   
   ############################ Sixth Test ###############################
   # Clear the VCS Canvas and redraw the graphics, but this time use the
   # draw functions. That is, user drawline, drawmarker, drawfillarea, and
   # drawtext.
   x.clear()
   ln=x.drawline('new',
                 ltype= 1,
                 width= 10,
                 color=244,
                 worldcoordinate=[0.0,2.0,0.0,2.0],
                 x=[[0.0,2.0,2.0,0.0,0.0], [0.5,1.5]],
                 y=[[0.0,0.0,2.0,2.0,0.0], [1.0,1.0]],
                 bg=bg
                )
   support.check_plot(x)

   mk=x.drawmarker('new',
                   mtype= 'square_fill',
                   size= 40,
                   color=243,
                   viewport=[0.0,1.0,0.0,1.0],
                   worldcoordinate=[0.0,2.0,0.0,2.0],
                   x=[[0.0,1.0], [1.0]],
                   y=[[0.0,1.0], [2.0]],
                   bg=bg
                  )
   support.check_plot(x)

   fa=x.drawfillarea('new',
                   style='hatch',
                   index=2,
                   color=246,
                   viewport=[0.0,1.0,0.0,1.0],
                   worldcoordinate=[0.0,2.0,0.0,2.0],
		   x=[[0.5,1.0,1.0,0.5],[0.5,1.0,0.75]],
		   y=[[0.0,0.0,0.5,0.5],[1.0,1.0,0.5]],
                     bg=bg
                  )
   support.check_plot(x)

   t=x.drawtext(Tt_name='newTt',To_name='newTo',
                   font = 4,
                   color = 242,
                   height = 70,
                   angle=45,
                   string=[ 'Quad 1', 'Quad 2', 'Quad 3', 'Quad 4' ],
                   viewport=[0.0,1.0,0.0,1.0],
                   worldcoordinate=[0.0,2.0,0.0,2.0],
                   x=[[1.5,1.5], [0.5,0.5]],
                   y=[[0.5,1.5], [1.5, 0.5]],
                bg=bg
                  )
   support.check_plot(x)

   
   ############################ Sixth Test completed ######################
   
   ############################ Seventh Test ###############################
   # Clear the VCS Canvas and test the priority of each primitive.
   #
   x.clear()
   # Set the global viewport and worldcoordinate values.
   x.viewport=[0.3,0.7,0.3,0.7]
   x.worldcoordinate=[0,1,0,1]
   
   ln2=x.createline('new2')
   ln3=x.createline('new3')
   mk2=x.createmarker('new2')
   mk3=x.createmarker('new3')
   fa2=x.createfillarea('new2')
   fa3=x.createfillarea('new3')
   t2=x.createtext('new12','std','new22','7left')
   
   # Draw a box around the VCS Canvas drawing area.
   ln.x=[0, 1, 1, 0, 0]
   ln.y=[0, 0, 1, 1, 0]
   ln.viewport=[0.3,0.7,0.3,0.7]
   ln.worldcoordinate=[0,1,0,1]
   ln.width=4
   ln.color = 241
   ln.type = 0
   ln.priority=10		# Set the priority high so it will always be seen
   x.plot(ln,bg=bg)
   support.check_plot(x)
   
   ln2.x=[0,0.5]
   ln2.y=[0.5,0.5]
   ln2.priority=2		# Set the priority higher than the next line
   ln2.width=10
   ln2.color=243
   x.plot(ln2,bg=bg)
   support.check_plot(x)
   
   ln3.x=[0,1]
   ln3.y=[0.5,0.5]
   ln3.priority=1
   ln3.width=10
   ln3.color=244
   x.plot(ln3,bg=bg)
   support.check_plot(x)
   
   mk2.x=[0.5]
   mk2.y=[0.7]
   mk2.color=242
   mk2.size=50
   mk2.priority=2
   x.plot(mk2,bg=bg)
   support.check_plot(x)
   
   mk3.x=[0.55]
   mk3.y=[0.7]
   mk3.color=246
   mk3.size=40
   mk3.type='square_fill'
   mk3.priority=1
   x.plot(mk3,bg=bg)
   support.check_plot(x)
   
   fa2.x=[0.3,0.7,0.7,0.3]
   fa2.y=[0.0,0.0,0.4,0.4]
   fa2.color=247
   fa2.style='solid'
   fa2.index=3
   fa2.priority = 2
   x.plot(fa2,bg=bg)
   support.check_plot(x)
   
   fa3.x=[0.5,0.9,0.7]
   fa3.y=[0.4,0.4,0.0]
   fa3.style='solid'
   fa3.color=248
   fa3.index=15
   fa3.priority = 1
   x.plot(fa3,bg=bg)
   support.check_plot(x)
   
   t2.x = [0.2, 0.6]
   t2.y = [0.4, 0.4]
   t2.string=['PCMDI', 'CDAT']
   t2.color=241
   t2.font=2
   t2.height = 120
   t2.priority = 1
   x.plot(t2,bg=bg)
   support.check_plot(x)
   
   ############################ Seventh Test completed ######################
   
   ############################ Eighth Test ###############################
   # Clear the VCS Canvas and test the Python list for the primitive attributes.
   #
   x.clear()
   ln.x=[[0,1], [1,1], [1,0],[0,0]]
   ln.y=[[0,0], [0,1], [1,1],[1,0]]
   ln.width=[1,10,20,30]
   ln.color = [242, 243, 244, 245]
   ln.type = [1,2,3,0]
   ln.viewport=[0.2,0.8,0.2,0.8]
   ln.worldcoordinate=[0.0, 1.0, 0.0, 1.0]
   x.plot(ln,bg=bg)
   support.check_plot(x)
   
   mk.x=[[0.5,0.2],[0.3,0.7],[1.0]]
   mk.y=[[0.5,0.2],[0.3,0.7],[0.5]]
   mk.color=[242,243,244]
   mk.size=[30,50,70]
   mk.type=['dot', 'star', 'square_fill']
   mk.viewport=[0.2,0.8,0.2,0.8]
   mk.worldcoordinate=[0.0, 1.0, 0.0, 1.0]
   x.plot(mk,bg=bg)
   support.check_plot(x)
   
   fa.x=[[0.0,0.5,0.5,0.0],[0.5,1.0,0.75], [0.3,0.7,0.5]]
   fa.y=[[0.0,0.0,0.5,0.5],[0.5,0.5,0.0], [0.52,0.52,0.95]]
   fa.color=[241,242,243]
   fa.style=['hatch','solid']
   fa.index=[ 1, 2, 3]
   fa.viewport=[0.2,0.8,0.2,0.8]
   fa.worldcoordinate=[0.0, 1.0, 0.0, 1.0]
   x.plot(fa,bg=bg)
   support.check_plot(x)
   
   ############################ Eighth Test completed ######################
   
   print '*****************************************************************************************'
   print '******                                                                             ******'
   print '******   L O W - L E V E L   P R I M I T I V E S ( I . E . ,  L I N E S ,          ******'
   print '******           M A R K E R S ,   F I L L A R E A S ,   A N D   T E X T )         ******'
   print '******                                                                             ******'
   print '******               C O M P L E T E D   S U C E S S F U L L Y   ! ! !             ******'
   print '******                                                                             ******'
   print '*****************************************************************************************'
コード例 #9
0
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy 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_legacy.init()  # construct vcs_legacy 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_legacy.isgraphicsmethod(
            a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(
            l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs_legacy.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_legacy.istextcombined(tc):
        raise Exception, "Error not textcombined!"

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

    to = x.createtextorientation('testo')
    if not vcs_legacy.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 '*************************************************************************************'
コード例 #10
0
ファイル: testtemplate.py プロジェクト: AZed/uvcdat
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
   s=f('clt')                   	# get slab clt
   x=vcs.init()                         # construct vcs canvas

   tt=x.createtext()
   

   a = x.listelements('template')                   # show the list of templates
   t=x.createtemplate('test','ASD')    # create template 'test' from ASD

   t.ylabel1.texttable=tt
   t.ylabel1.textorientation=tt
   
   a2 = x.listelements('template')                   # show the list of templates
   if a2==a:
      raise Excpetion,"Error, template not added to list"
   if not vcs.istemplate(t):
      raise Exception,"Error obj created is not a template!"
   
   t.script('test','w')			# save test template as a Python script

   g=x.createisofill('test')           	# create isofill 'test' from 'default' isofill

   x.plot(g,s,t,bg=bg)			# make isofill plot
   support.check_plot(x)
   
   #############################################################################
   # Show the many different ways to show the template members (attributes)    #
   # and their values.                                                         #
   #############################################################################
##    t.list()				# list the templates members
##    t.list('text')			# list only text members, same as t.list('Pt')
##    t.list('format')			# list only format members, same as t.list('Pf')
##    t.list('xtickmarks')			# list only xtickmarks members, same as t.list('Pxt')
##    t.list('ytickmarks')			# list only ytickmarks members, same as t.list('Pyt')
##    t.list('xlabels')			# list only xlabels members, same as t.list('Pxl')
##    t.list('ylabels')			# list only ylabels members, same as t.list('Pyl')
##    t.list('boxeslines')			# list only boxeslines members, same as t.list('Pbl')
##    t.list('legend')			# list only legend member, same as t.list('Pls')
##    t.list('data')			# list only data member, same as t.list('Pds')
##    t.list('file')			# list only file member and its values
##    t.file.list()			# list only file member and its values
##    t.list('mean')			# list only mean member and its values
##    t.mean.list()			# list only mean member and its values

   #############################################################################
   # The screen x and y positions on the screen are normalized between 0 and 1 #
   # for both the x and y axis.                                                #
   #############################################################################
   t.mean.priority = 0			# remove the "Mean" text from the plot
   support.check_plot(x)
   t.mean.priority = 1			# re-display the "Mean" text on the plot
   support.check_plot(x)
   t.mean.x=0.5				# move the "Mean" text to x-axis center
   support.check_plot(x)
   t.mean.y=0.5				# move the "Mean" text to y-axis center
   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()


 
   #############################################################################
   # Position the data in front of the "Mean" text, then move the "Mean" text  #
   # in front of the data.                                                     #
   #############################################################################
   t.data.priority = 2
   support.check_plot(x)
   t.data.priority=3
   support.check_plot(x)
#  The above does not work. I will fix this later when time permits.
# seems to work now 2007-07-16
   t.data.priority=1 # back to normal
   support.check_plot(x)

   #############################################################################
   # Change the font representation for the "Mean" text.                       #
   # You can set the text by using text objects or text names.                 #
   #############################################################################
   tt = x.createtexttable('test')
   to = x.createtextorientation('test')
   t.mean.texttable = tt		# set texttable by using texttable object
   support.check_plot(x)
   t.mean.textorientation = 'test'	# set textorientation by using textorientation name
   support.check_plot(x)
   t.mean.list()                        # show the mean member and their new values
   tt.font=2				# change the font 
   support.check_plot(x)
   to.height=40				# change the height
   support.check_plot(x)

   #############################################################################
   # Change the legend space.                                                  #
   #############################################################################
   t.legend.list()		       	# list the legend members
   x.mode=0				# turn the automatic update off
   t.legend.x1=0.85
   support.check_plot(x)
   t.legend.y1=0.90
   support.check_plot(x)
   t.legend.x2=0.95
   support.check_plot(x)
   t.legend.y2=0.16
   support.check_plot(x)
   x.update()
   support.check_plot(x)
#  The above does not work. I will fix this later when time permits.

   print '***************************************************************************************'
   print '******                                                                           ******'
   print '******   T E M P L A T 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 '***************************************************************************************'
コード例 #11
0
def test():
    import vcs, cdms2, time, os, sys, support  # import vcs and cdms

    # In the initial.attribute file the page orientation is set to
    # portrait. The test is to convert from portrait to landscape.
    # See your initial.attribute file and set "Page(portrait)".
    # This should be located at the top of the initial.attribute
    # file.
    x = vcs.init()
    x.pause_time = 2

    # Check for the canvas orientation, which should be by default 'landscape'
    if x.islandscape() == 1:  # will return 1 if true or 0 if false
        print 'landscape page mode'
    if x.isportrait() == 1:  # will return 1 if true or 0 if false
        print 'portrait page mode'
    print 'The page orientation is ( %s ). ' % x.orientation(
    )  # will return 'landscape' or 'portrait'

    # Change the page orientation to portrait and print the test cases
    print '\nChange the page orientation to portrait and test'
    x.portrait()  # Change page orientation to portrait
    if x.islandscape() == 1:
        print 'landscape page mode'
    if x.isportrait() == 1:
        print 'portrait page mode'
    print 'The page orientation is ( %s ). ' % x.orientation(
    )  # will return 'landscape' or 'portrait'

    # Change the page orientation to landscape and print the test cases
    print '\nChange the page orientation to landscape and test'
    x.landscape()
    if x.islandscape() == 1:  # will return 1 if true or 0 if false
        print 'landscape page mode'
    if x.isportrait() == 1:  # will return 1 if true or 0 if false
        print 'portrait page mode'
    print 'The page orientation is ( %s ). ' % x.orientation(
    )  # will return 'landscape' or 'portrait'

    #
    # prints in location mode
    # I feel this is correct!
    #
    f = cdms2.open(
        os.path.join(cdms2.__path__[0], '..', '..', '..', '..', 'sample_data',
                     'clt.nc'))
    s = f('clt')
    x = vcs.init()
    t = x.createtemplate('new')
    to = x.createtextorientation('test')
    to.height = 30
    t.mean.y = 0.5
    t.mean.x = 0.5
    t.mean.textorientation = to
    t.mean.list()
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)
    x.flush()
    support.check_plot(x)

    #
    x.portrait()  # This will clear the screen
    support.check_plot(x)
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)

    #
    x.landscape()  # This will clear the screen
    support.check_plot(x)
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)

    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   P A G E  O R I E N T A T I O N   T E S T   C O M P L E T E D          ******'
    print '******   S U C E S S F U L L Y    ! ! !                                        ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
コード例 #12
0
ファイル: testscatter.py プロジェクト: NESII/uvcdat
def test():
    import vcs
    import cdms2
    import os
    import support                # import vcs and cu
    bg = support.bg
    f = cdms2.open(os.path.join(vcs.sample_data, 'clt.nc'))
    u = f('u')                             # get slab u
    v = f('v')                             # get slab v
    x = vcs.init()                         # construct vcs canvas

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

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

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

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

    ##########################################################################
    # Change the scatter marker type                                           #
    ##########################################################################
    # a.marker=0
    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)

    ##########################################################################
    # Change the scatter marker size                                           #
    ##########################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = 15
    support.check_plot(x)

    ##########################################################################
    # Change the scatter marker color                                          #
    ##########################################################################
    a.markercolor = (77)
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44			# same as a.markercolor=(44)
    support.check_plot(x)

    ##########################################################################
    # Change the scatter settings to default                                   #
    ##########################################################################
    a.markercolor = None
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)
    a.marker = None
    support.check_plot(x)

    a.marker = 1                           # same as a.marker='dot'
    support.check_plot(x)

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

    # create template 'test' from 'default' template
    t = x.createtemplate('test')

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

    m = x.getmarker('red')                	# get marker 'red'
    # check to see if it is a secondary object
    if vcs.issecondaryobject(m):
        # check to see if it is a fill area
        if not vcs.ismarker(m):
            raise Exception("Error: this is not a marker object.")
    else:
        raise Exception("Error: this is not a sceondary object.")

    ###########################################################################
    # 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)

    e = x.listelements('scatter')         # show list of scatter
    r = x.createscatter('test2', 'quick')   # create scatter 'test2'
    e2 = x.listelements('scatter')         # show list of scatter
    if e2 == e:
        raise Exception("Error new scatter does not appear in list")
    e3 = list(e)
    e3.append("test2")
    e3.sort()
    if e3 != e2:
        raise "Error new scatter created but not matching old list of scatter"
    x.removeobject(r)                    # remove scatter 'test2'
    e4 = x.listelements('scatter')         # show list of scatter
    if e4 != e:
        raise Exception("Error method 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 '******   S C A T T E 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 '*************************************************************************************'
コード例 #13
0
ファイル: testcolor.py プロジェクト: arulalant/uvcdat
def test():
   import vcs_legacy,cdms2 as cdms,time,os,sys,support                 # import vcs_legacy and cu

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

   x.plot(s,'default','isofill','quick',bg=bg)# plot slab the old way
   support.check_plot(x)
   if bg==0:
      x.geometry(450,337,0,0)              # change the geometry
      x.flush()
      support.check_plot(x)
   x.getcolormapname()			# get the active colormap name

   x.setcolormap("AMIP")		# change the colormap
   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()


   ############################################################
   # Change the color map cell 31.			      #
   ############################################################
   colors = {}
   cols = [31,47,63,79,95,111,127,143,159,175,191]
   for c in cols:
      colors[c]=[int(float(c-16)/(191-16)*100.),]*3
   for c in cols:
      vals=colors[c]
      x.setcolorcell(c,vals[0],vals[1],vals[2])
      support.check_plot(x)
         
   for c in colors.keys():
      okvals=colors[c]
      vals = x.getcolorcell(c)
      if vals!=okvals:
         raise Exception,"Error setting color %i, should have been : %s, but is %s" % (c,str(okvals),str(vals))
   
   ##################################################################
   # Retrieve the color map RGB values for the given cell numbers.  #
   ##################################################################

   ##################################################################
   # Using colormap objects.                                        #  
   ##################################################################
   objs = x.listelements('colormap')                      	# show the list of line secondary objects
   c2=x.getcolormap()             	# get 'default' colormap object
   c=x.getcolormap('AMIP')             # get 'quick' colormap object
   if not vcs_legacy.issecondaryobject(c):           # check to see if it is a secondary object
      raise Exception,"Error did not get colormap as secondary obj"
   else:
      if not vcs_legacy.iscolormap(c):                  	# check to see if it is a line
         raise Exception, "Error object created is not colormap"

   a = x.listelements('colormap')                      # show list of xyvsy
   r=x.createcolormap('new')     # create colormap
   a2 = x.listelements('colormap')                      # show list of xyvsy
   if a2==a:
      raise "error cm not created or not added to list"
   x.removeobject(r)                    # remove xyvsy 'test2'
   a3 = x.listelements('colormap')                      # show list of xyvsy
   if a3!=a:
      raise Exception,"error cm not removed"
   c3=x.createcolormap('new')		# create a new colormap object from default
   x.setcolormap('new')			# change the colormap to 'new' colormap
   c3.index				# show just the colormap RGB values
   for c in colors.keys():
      vals=colors[c]
      c3.index[c]=vals                  # change color cell
      
   for c in colors.keys():
      okvals=colors[c]
      vals = x.getcolorcell(c)
      if vals!=okvals:
         raise Exception,"Error setting color %i, should have been : %s, but is %s" % (c,str(okvals),str(vals))
   
   c3.script('test.scr','w')		# save 'new' colormap as a VCS script
   c3.script('test','w')		# save 'new' colormap as a Python script
   if support.dogui is True:
      x.colormapgui()			# display the colormap GUI



   print '***************************************************************************************'
   print '******                                                                           ******'
   print '******   C O L O R M A P   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 '***************************************************************************************'
コード例 #14
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 '*******************************************************************************************'
コード例 #15
0
ファイル: testdisplayplot.py プロジェクト: AZed/uvcdat
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'))
   s1=f.getslab('clt')			# get slab clt
   s2=f.getslab('clt',4,4,-45,45,-90,90)
   s3=f.getslab('clt',6,6,0,90,0,180)
   x=vcs.init()				# construct vcs canvas
   
   p1=x.plot(s1,bg=bg)			# plot slab the old way
   support.check_plot(x)
   x.plot(s2,bg=bg)				# plot slab the old way
   support.check_plot(x)
   
   p2=x.getplot('dpy_plot_2')		# get display plot s2

   if not vcs.queries.isplot(p1):			# check for display plot object
      raise exception, "Error, p1 not a display!"


   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()


   p2.name='p2_name'			# change display plot's (p2) name
   p2.off=1				# undisplay display plot (p2)
   support.check_plot(x)
   p2.off=0				# redisplay display plot (p2)
   support.check_plot(x)

   p1.priority=1			# bring display plot (p1) to the front
   support.check_plot(x)

   
   p2.off=1				# undisplay display plot (p2)
   p1.template='default_dud'		# change display plot (p1) template
   support.check_plot(x)

   x.mode=0				# turn atomatic update off
   p1.template='default'		# change display plot (p1) template
   p1.g_type='isoline'			# change display plot (p1) graphics type
   support.check_plot(x)
   x.update()				# view changes now
   support.check_plot(x)

   x.mode=1				# turn atomatic update mode back on
   p1.g_type='isofill'			# change display plot (p1) graphics type
   support.check_plot(x)
   p1.g_name='quick'                    # change display plot (p1) graphics name
   support.check_plot(x)

   p1.array=['plot_2']			# change display plot (p1) array object
   support.check_plot(x)
   p1.array=['plot_1']			# change display plot (p1) array object
   support.check_plot(x)
   p1.array=[s3]			# change display plot (p1) array object
   support.check_plot(x)


   #########################################################################
   #								           #
   # Produce an overlay plot.                                              #
   #								           #
   #########################################################################
   x.mode=0				# turn atomatic update mode back on
   p1.array=['plot_1']			# change display plot (p1) array object
   p2.off=0                             # redisplay display plot (p2)
   p2.priority=2			# bring display plot (p2) to the front
   p2.array=[s1]                  # change display plot (p2) array object
   p2.g_type='isoline'                  # change display plot (p2) graphics type
   p2.g_name='default'                  # change display plot (p1) graphics name
   x.update()				# view changes now
   support.check_plot(x)

   x.mode=1				# turn atomatic update mode back on
   x.removeobject(p1)			# remove the display plot (p1)
   support.check_plot(x)

   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   D I S P L A 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 '*************************************************************************************'
コード例 #16
0
ファイル: testboxfill.py プロジェクト: AZed/uvcdat
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'))
   s=f('clt')			        # get slab clt
   x=vcs.init()				# construct vcs canvas
   
   x.plot(s,'default','boxfill','quick',bg=bg)# plot slab the old way
   #support.check_plot(x)
   if bg==0:
      x.geometry(450,337)                  # change the geometry
      x.flush()
      #support.check_plot(x)
   
   a=x.getboxfill('quick') 		# get 'quick' boxfill 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.isboxfill(a):		# check for boxfill
         raise Exception, "Error gm is not right type"

   # Change boxfill's legend
   a.legend={0:'Great',20:'Outstanding',40:'Wonderful',60:'Happy',80:'Exciting!',100:'Best'}
   support.check_plot(x)
   a.legend={0:'100',20:'80',40:'60',60:'40',80:'20',100:'0'}
   support.check_plot(x)
   a.legend={0:'Blue',20:'Green',40:'Yellow',60:'Red',80:'Burgundy',100:'Magenta'}
   support.check_plot(x)
   a.legend=(90)
   support.check_plot(x)
   a.legend=[10,90]
   support.check_plot(x)
   a.legend=(1.5,45.8,89.7)
   support.check_plot(x)
   a.legend=None
   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.color_1=50				# change color_1 index attribute
   support.check_plot(x)
   
   a.xticlabels('lon30','lon30')	# change xlabels attribute
   support.check_plot(x)
   a.xticlabels('','')			# change remove xlables from plot
   support.check_plot(x)
   a.datawc(-45.0, 45.0, -90.0, 90.0) 	# change region
   support.check_plot(x)
   a.datawc(1e20,1e20,1e20,1e20)	# change region back
   support.check_plot(x)
   a.xticlabels('*')			# change attribute labels back
   support.check_plot(x)
   
   x.mode=0				# turn atomatic update off
   a.color_1=100			# change color_1 attribute
   a.color_2=200			# change color_2 index value
   a.xticlabels('lon30','lon30')	# change attribute
   a.yticlabels('','')			# change y-labels off attribute
   a.datawc(-45.0, 45.0, -90.0, 90.0) 	# change region
   support.check_plot(x)
   x.update()				# view changes now
   support.check_plot(x)
   
   # Test log10 boxfill plot
   x.clear()				# clear the VCS Canvas
   a.boxfill_type = 'log10'             # Change the Boxfill type to log10
   a.datawc(1e20,1e20,1e20,1e20) 	# change region
   a.level_1=1e20			# change level_1
   a.level_2=1e20			# change level_2
   a.color_1=16				# change color_1 attribute
   a.color_2=239			# change color_2 index value
   x.boxfill(s,a,bg=bg)		        # plot using default template
   support.check_plot(x)


   # Test custom boxfill plot
   x.clear()				# clear the VCS Canvas
   a.boxfill_type = 'custom'            # Change the Boxfill type to custom 
   a.levels=(0,20,35,40,75,100)         # Set the custom ranges
   a.fillareacolors=(16,25,38,55,100,166) # Set the color indices
   x.boxfill(s,a,bg=bg)		        # plot using default template
   support.check_plot(x)

   # Test legend with fillareacolors boxfill plot
   x.clear()				# clear the VCS Canvas
   a.boxfill_type = 'linear'            # Change the Boxfill type back to linear 
   a.fillareacolors=(254,)           # Set the color indices
   a.level_1=0				# change level_1
   a.level_2=0				# change level_2
   x.boxfill(s,a,bg=bg)		        # plot using default template
   support.check_plot(x)
   
   a.script('test','w')			# save 'quick' boxfill as a Python script
   
   x.mode=1				# turn atomatic update mode back on
   a.color_1=16				# change color_1 attribute
   support.check_plot(x)
   a.color_2=239			# change color_2 index value
   support.check_plot(x)
   a.level_1=20				# change level_1
   support.check_plot(x)
   a.level_2=80				# change level_2
   support.check_plot(x)
   a.datawc(1e20,1e20,1e20,1e20)	# change region back
   support.check_plot(x)
   a.yticlabels('*')                    # change y-labels attribute
   support.check_plot(x)
   
   x.scriptobject(a,'test', 'a')	# append 'quick' to the existing file 
   a.script('test.scr','w')		# save 'quick' as a VCS script file
   
   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.boxfill(s,a,'default',bg=bg)		# plot using default template
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.boxfill(a,'default',s,bg=bg)		# plot using default template, but, reverse the order
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.boxfill(s,a,t,bg=bg)			# plot using template 'test'
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.boxfill(a,s,t,bg=bg)			# plot using template 'test', but reverse the objects
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.boxfill(t,a,s,bg=bg)			# plot using template 'test', but reverse the objects
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   
   x.plot(t,a,s,bg=bg)			# plot using the new way
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.plot(a,t,s,bg=bg)			# plot using the new way
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.plot(s,t,a,bg=bg)			# plot using the new way
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.plot('default',a,s,bg=bg)		# plot using the new way
   support.check_plot(x)
   x.clear()				# clear the VCS Canvas
   x.plot('default',s,bg=bg)			# plot using the new way
   support.check_plot(x)
   
   a = x.listelements('boxfill')                      # show list of xyvsy
   r=x.createboxfill('test2','quick')     # create xyvsy 'test2'
   a2 = x.listelements('boxfill')                      # 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('boxfill')                      # show list of xyvsy
   if a3!=a:
      raise "error gm not removed"

   a=x.getboxfill('quick')              # get 'quick' boxfill graphics method
   x.clear()
   x.plot(s,a,bg=bg)
   support.check_plot(x)
   if support.dogui:
      x.graphicsmethodgui('boxfill','quick')	# display the boxfill graphics method GUI
      raw_input("Press enter when done with gui testing")
   print '*************************************************************************************'
   print '******                                                                         ******'
   print '******   B O X 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 '*************************************************************************************'
コード例 #17
0
def test():

    import vcs_legacy, support, sys
    bg = support.bg

    x = vcs_legacy.init()

    # For plotting of each test case, set the pause time to 1.
    x.pause_time = 1

    ############################ First Test ###############################

    # Set the global viewport values only.
    #
    # Remember, must set global x.viewport (vp) and/or x.world coordinate (wc)
    # values before calling { [x.createline, x.createmarker, x.createfillarea,
    # x.createtext], [x.getline, x.getmarker, x.getfillarea, x.gettext],
    # [x.drawline, x.drawmarker, x.drawfillarea, x.drawtext] }.
    #
    # If the global viewport (vp) and world coordinate (wc) values are set
    # and the, functions, listed above, do not specify them, then the global
    # settings will override the default settings.
    #
    # If the functions listed above have vp and wc set as an argument, then
    # these vp and wc values will be used instead of the global vp and wc
    # values.
    #
    # Draw text on the screen.
    tex = x.createtext('nTtex', 'std', 'nToex', '7left')
    tex.height = 25
    tex.x = [0.1, 0.1]
    tex.y = [0.97, 0.93]
    tex.string = [
        'Example of drawing VCS low-level primitives.',
        'Also, an example of using the viewport to clip graphics.'
    ]
    x.plot(tex, bg=bg)
    support.check_plot(x)
    #
    # At this point, let the world coordinate values remain at the default
    # settings [0, 1, 0, 1], but change the viewport.
    x.viewport = [0.3, 0.7, 0.3, 0.7]
    support.check_plot(x)

    # Create the line, marker, fill area, and text objects
    ln = x.createline('new')
    mk = x.createmarker('new')
    fa = x.createfillarea('new')
    t = x.createtext('newTt', 'std', 'newTo', '7left')

    # Draw a box around the entire VCS Canvas viewport. It will use the
    # global viewport set above and use the default world coordinate values:
    # Remember the default values for vp and wc are:
    #            viewport         = [0.0, 1.0, 0.0, 1.0]
    #            worldcoordinate  = [0.0, 1.0, 0.0, 1.0]
    ln.x = [0, 1, 1, 0, 0]  # x line positions
    ln.y = [0, 0, 1, 1, 0]  # y line positions
    ln.width = 4  # test width
    ln.color = 242  # test color
    ln.type = 4  # test line type
    x.plot(ln, bg=bg)  # plot lines
    support.check_plot(x)

    # Draw text on the screen. Use global vp and default wc.
    t.x = [0.2, 0.7]  # x text positions
    t.y = [0.7, 0.7]  # y text positions
    t.string = ['PCMDI', 'CDAT']  # text strings
    t.color = 243  # text color
    t.height = 90  # text size
    x.plot(t, bg=bg)  # plot text
    support.check_plot(x)

    # Draw fill area on screen. Use global vp and default wc.
    fa.x = [[0.0, 0.5, 0.5, 0.0], [0.5, 1.0, 0.75]]  # x fill area positions
    fa.y = [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.0]]  # x fill area positions

    # fa.color=[241,243] cannot do this! How important is this?

    fa.color = 241  # fill area color
    fa.style = 'solid'  # fill area style
    fa.index = 3  # fill area index
    x.plot(fa, bg=bg)  # plot fill area
    support.check_plot(x)

    # Draw marker on screen. Use global vp and default wc.
    mk.x = [[0.5, 0.2], [0.3, 0.7, 1.0]]  # x marker positions
    mk.y = [[0.5, 0.2], [0.3, 0.7, 0.5]]  # y marker positions
    mk.color = 242  # marker color
    mk.size = 50  # marker size
    mk.type = 'dot'  # marker type
    x.plot(mk, bg=bg)  # plot marker
    support.check_plot(x)

    ############################ First Test completed ######################

    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()

    ############################ Second Test ###############################
    # Reset the global viewport values.
    x.viewport = [0.2, 0.8, 0.2, 0.8]
    support.check_plot(x)

    # Redraw a box around the drawing area, but use 'x.line' instead of 'x.plot'.
    ln = x.getline('new')
    x.line(ln, bg=bg)
    support.check_plot(x)

    # Redraw markers, but use 'x.marker', instead of 'x.plot'.
    mk = x.getmarker('new')
    x.marker(mk, bg=bg)
    support.check_plot(x)

    # Redraw fill area, but use 'x.fillarea', instead of 'x.plot'.
    fa = x.getfillarea('new')
    x.fillarea(fa, bg=bg)
    support.check_plot(x)

    # Redraw text, but use 'x.text', instead of 'x.plot'.
    t = x.gettext('newTt', 'newTo')
    x.text(t, bg=bg)
    support.check_plot(x)

    ############################ Second Test completed ######################

    ############################ Third Test ###############################
    # Change the drawing area's world coordinate from [0,1,0,1] to [0,2,0,2]
    # via primitive's graphics method, then redraw. The graphics will be drawn
    # in the lower left corner. This is because the line x and y values are
    # between (0 and 1) and the wc values are now between (0 and 2).

    ln.worldcoordinate = [0, 2, 0, 2]  # set wc
    support.check_plot(x)
    x.plot(ln, bg=bg)
    support.check_plot(x)

    # Note how the most right marker is not clipped
    mk.worldcoordinate = [0, 2, 0, 2]  # set wc
    support.check_plot(x)
    x.plot(mk, bg=bg)

    fa.worldcoordinate = [0, 2, 0, 2]
    support.check_plot(x)
    fa.color = 240  # change color to white
    support.check_plot(x)
    x.plot(fa, bg=bg)
    support.check_plot(x)

    t.worldcoordinate = [0, 2, 0, 2]  # set wc
    x.plot(t, bg=bg)
    support.check_plot(x)

    ############################ Third Test completed ######################

    ############################ Fourth Test ###############################
    #
    # Clear the VCS Canvas and redraw graphics using Python list of lists.
    #
    # Remember, the viewport and world coordinates for the graphics primitives
    # are:
    #       viewport         = [0.2, 0.8, 0.2, 0.8]
    #       worldcoordinate  = [0, 2, 0, 2]
    x.clear()

    # Draw multiple line segments
    ln.x = [[0.0, 2.0, 2.0, 0.0, 0.0], [0.5, 1.5]]  # x line positions
    ln.y = [[0.0, 0.0, 2.0, 2.0, 0.0], [1.0, 1.0]]  # y line positions
    ln.type = 'solid'
    x.plot(ln, bg=bg)
    support.check_plot(x)

    # Draw multiple marker segments
    mk.x = [[0.8, 1.3], [0.5, 1.0, 1.5]]  # x marker positions
    mk.y = [[1.5, 1.5], [0.5, 0.5, 0.5]]  # y marker positions
    x.plot(mk, bg=bg)
    support.check_plot(x)

    # Draw multiple fill area segments
    fa.x = [[0.2, 0.5, 0.5, 0.2], [1.2, 1.8, 1.8,
                                   1.2]]  # x fill area positions
    fa.y = [[0.2, 0.2, 0.5, 0.5], [1.2, 1.2, 1.8,
                                   1.8]]  # x fill area positions
    fa.color = 241
    x.plot(fa, bg=bg)
    support.check_plot(x)

    # Draw multiple text segments
    t.x = [0.5, 1.17]  # x text positions
    t.y = [0.8, 0.8]  # y text positions
    t.string = ['Text 1', 'Text 2']  # text strings
    t.color = 244  # text color
    t.height = 90  # text size
    x.plot(t, bg=bg)  # plot text
    support.check_plot(x)

    ############################ Fourth Test completed ######################

    ############################ Fifth Test ###############################
    # Change the viewport only to a different shape and replot.
    # 1st change
    ln.viewport = [0.0, 0.2, 0.0, 0.8]
    support.check_plot(x)
    x.plot(ln, bg=bg)
    support.check_plot(x)

    mk.viewport = [0.0, 0.2, 0.0, 0.8]
    support.check_plot(x)
    x.plot(mk, bg=bg)
    support.check_plot(x)
    fa.viewport = [0.0, 0.2, 0.0, 0.8]
    support.check_plot(x)
    x.plot(fa, bg=bg)
    support.check_plot(x)
    t.viewport = [0.0, 0.2, 0.0, 0.8]
    support.check_plot(x)
    x.plot(t, bg=bg)
    support.check_plot(x)

    # 2nd change
    ln.viewport = [0.0, 0.8, 0.0, 0.2]
    support.check_plot(x)
    x.plot(ln, bg=bg)
    support.check_plot(x)
    mk.viewport = [0.0, 0.8, 0.0, 0.2]
    support.check_plot(x)
    x.plot(mk, bg=bg)
    support.check_plot(x)
    fa.viewport = [0.0, 0.8, 0.0, 0.2]
    support.check_plot(x)
    x.plot(fa, bg=bg)
    support.check_plot(x)
    t.viewport = [0.0, 0.8, 0.0, 0.2]
    support.check_plot(x)
    x.plot(t, bg=bg)
    support.check_plot(x)

    ############################ Fifth Test completed ######################

    ############################ Sixth Test ###############################
    # Clear the VCS Canvas and redraw the graphics, but this time use the
    # draw functions. That is, user drawline, drawmarker, drawfillarea, and
    # drawtext.
    x.clear()
    ln = x.drawline('new',
                    ltype=1,
                    width=10,
                    color=244,
                    worldcoordinate=[0.0, 2.0, 0.0, 2.0],
                    x=[[0.0, 2.0, 2.0, 0.0, 0.0], [0.5, 1.5]],
                    y=[[0.0, 0.0, 2.0, 2.0, 0.0], [1.0, 1.0]],
                    bg=bg)
    support.check_plot(x)

    mk = x.drawmarker('new',
                      mtype='square_fill',
                      size=40,
                      color=243,
                      viewport=[0.0, 1.0, 0.0, 1.0],
                      worldcoordinate=[0.0, 2.0, 0.0, 2.0],
                      x=[[0.0, 1.0], [1.0]],
                      y=[[0.0, 1.0], [2.0]],
                      bg=bg)
    support.check_plot(x)

    fa = x.drawfillarea('new',
                        style='hatch',
                        index=2,
                        color=246,
                        viewport=[0.0, 1.0, 0.0, 1.0],
                        worldcoordinate=[0.0, 2.0, 0.0, 2.0],
                        x=[[0.5, 1.0, 1.0, 0.5], [0.5, 1.0, 0.75]],
                        y=[[0.0, 0.0, 0.5, 0.5], [1.0, 1.0, 0.5]],
                        bg=bg)
    support.check_plot(x)

    t = x.drawtext(Tt_name='newTt',
                   To_name='newTo',
                   font=4,
                   color=242,
                   height=70,
                   angle=45,
                   string=['Quad 1', 'Quad 2', 'Quad 3', 'Quad 4'],
                   viewport=[0.0, 1.0, 0.0, 1.0],
                   worldcoordinate=[0.0, 2.0, 0.0, 2.0],
                   x=[[1.5, 1.5], [0.5, 0.5]],
                   y=[[0.5, 1.5], [1.5, 0.5]],
                   bg=bg)
    support.check_plot(x)

    ############################ Sixth Test completed ######################

    ############################ Seventh Test ###############################
    # Clear the VCS Canvas and test the priority of each primitive.
    #
    x.clear()
    # Set the global viewport and worldcoordinate values.
    x.viewport = [0.3, 0.7, 0.3, 0.7]
    x.worldcoordinate = [0, 1, 0, 1]

    ln2 = x.createline('new2')
    ln3 = x.createline('new3')
    mk2 = x.createmarker('new2')
    mk3 = x.createmarker('new3')
    fa2 = x.createfillarea('new2')
    fa3 = x.createfillarea('new3')
    t2 = x.createtext('new12', 'std', 'new22', '7left')

    # Draw a box around the VCS Canvas drawing area.
    ln.x = [0, 1, 1, 0, 0]
    ln.y = [0, 0, 1, 1, 0]
    ln.viewport = [0.3, 0.7, 0.3, 0.7]
    ln.worldcoordinate = [0, 1, 0, 1]
    ln.width = 4
    ln.color = 241
    ln.type = 0
    ln.priority = 10  # Set the priority high so it will always be seen
    x.plot(ln, bg=bg)
    support.check_plot(x)

    ln2.x = [0, 0.5]
    ln2.y = [0.5, 0.5]
    ln2.priority = 2  # Set the priority higher than the next line
    ln2.width = 10
    ln2.color = 243
    x.plot(ln2, bg=bg)
    support.check_plot(x)

    ln3.x = [0, 1]
    ln3.y = [0.5, 0.5]
    ln3.priority = 1
    ln3.width = 10
    ln3.color = 244
    x.plot(ln3, bg=bg)
    support.check_plot(x)

    mk2.x = [0.5]
    mk2.y = [0.7]
    mk2.color = 242
    mk2.size = 50
    mk2.priority = 2
    x.plot(mk2, bg=bg)
    support.check_plot(x)

    mk3.x = [0.55]
    mk3.y = [0.7]
    mk3.color = 246
    mk3.size = 40
    mk3.type = 'square_fill'
    mk3.priority = 1
    x.plot(mk3, bg=bg)
    support.check_plot(x)

    fa2.x = [0.3, 0.7, 0.7, 0.3]
    fa2.y = [0.0, 0.0, 0.4, 0.4]
    fa2.color = 247
    fa2.style = 'solid'
    fa2.index = 3
    fa2.priority = 2
    x.plot(fa2, bg=bg)
    support.check_plot(x)

    fa3.x = [0.5, 0.9, 0.7]
    fa3.y = [0.4, 0.4, 0.0]
    fa3.style = 'solid'
    fa3.color = 248
    fa3.index = 15
    fa3.priority = 1
    x.plot(fa3, bg=bg)
    support.check_plot(x)

    t2.x = [0.2, 0.6]
    t2.y = [0.4, 0.4]
    t2.string = ['PCMDI', 'CDAT']
    t2.color = 241
    t2.font = 2
    t2.height = 120
    t2.priority = 1
    x.plot(t2, bg=bg)
    support.check_plot(x)

    ############################ Seventh Test completed ######################

    ############################ Eighth Test ###############################
    # Clear the VCS Canvas and test the Python list for the primitive attributes.
    #
    x.clear()
    ln.x = [[0, 1], [1, 1], [1, 0], [0, 0]]
    ln.y = [[0, 0], [0, 1], [1, 1], [1, 0]]
    ln.width = [1, 10, 20, 30]
    ln.color = [242, 243, 244, 245]
    ln.type = [1, 2, 3, 0]
    ln.viewport = [0.2, 0.8, 0.2, 0.8]
    ln.worldcoordinate = [0.0, 1.0, 0.0, 1.0]
    x.plot(ln, bg=bg)
    support.check_plot(x)

    mk.x = [[0.5, 0.2], [0.3, 0.7], [1.0]]
    mk.y = [[0.5, 0.2], [0.3, 0.7], [0.5]]
    mk.color = [242, 243, 244]
    mk.size = [30, 50, 70]
    mk.type = ['dot', 'star', 'square_fill']
    mk.viewport = [0.2, 0.8, 0.2, 0.8]
    mk.worldcoordinate = [0.0, 1.0, 0.0, 1.0]
    x.plot(mk, bg=bg)
    support.check_plot(x)

    fa.x = [[0.0, 0.5, 0.5, 0.0], [0.5, 1.0, 0.75], [0.3, 0.7, 0.5]]
    fa.y = [[0.0, 0.0, 0.5, 0.5], [0.5, 0.5, 0.0], [0.52, 0.52, 0.95]]
    fa.color = [241, 242, 243]
    fa.style = ['hatch', 'solid']
    fa.index = [1, 2, 3]
    fa.viewport = [0.2, 0.8, 0.2, 0.8]
    fa.worldcoordinate = [0.0, 1.0, 0.0, 1.0]
    x.plot(fa, bg=bg)
    support.check_plot(x)

    ############################ Eighth Test completed ######################

    print '*****************************************************************************************'
    print '******                                                                             ******'
    print '******   L O W - L E V E L   P R I M I T I V E S ( I . E . ,  L I N E S ,          ******'
    print '******           M A R K E R S ,   F I L L A R E A S ,   A N D   T E X T )         ******'
    print '******                                                                             ******'
    print '******               C O M P L E T E D   S U C E S S F U L L Y   ! ! !             ******'
    print '******                                                                             ******'
    print '*****************************************************************************************'
コード例 #18
0
ファイル: testxvsy.py プロジェクト: NESII/uvcdat
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
    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
    # test object 'a' for graphics method
    if not vcs.isgraphicsmethod(a):
        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)

    # save 'quick' xvsy 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 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 '--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 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)
    # 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 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			   #
    #########################################################################
    # 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")

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

    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)

    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('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 '*************************************************************************************'
コード例 #19
0
ファイル: testdisplayplot.py プロジェクト: arulalant/uvcdat
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy and cdms

    bg = support.bg

    f = cdms.open(os.path.join(cdms.__path__[0], "..", "..", "..", "..", "sample_data", "clt.nc"))
    s1 = f.getslab("clt")  # get slab clt
    s2 = f.getslab("clt", 4, 4, -45, 45, -90, 90)
    s3 = f.getslab("clt", 6, 6, 0, 90, 0, 180)
    x = vcs_legacy.init()  # construct vcs_legacy canvas

    p1 = x.plot(s1, bg=bg)  # plot slab the old way
    support.check_plot(x)
    x.plot(s2, bg=bg)  # plot slab the old way
    support.check_plot(x)

    p2 = x.getplot("dpy_plot_2")  # get display plot s2

    if not vcs_legacy.queries.isplot(p1):  # check for display plot object
        raise exception, "Error, p1 not a display!"

    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()

    p2.name = "p2_name"  # change display plot's (p2) name
    p2.off = 1  # undisplay display plot (p2)
    support.check_plot(x)
    p2.off = 0  # redisplay display plot (p2)
    support.check_plot(x)

    p1.priority = 1  # bring display plot (p1) to the front
    support.check_plot(x)

    p2.off = 1  # undisplay display plot (p2)
    p1.template = "default_dud"  # change display plot (p1) template
    support.check_plot(x)

    x.mode = 0  # turn atomatic update off
    p1.template = "default"  # change display plot (p1) template
    p1.g_type = "isoline"  # change display plot (p1) graphics type
    support.check_plot(x)
    x.update()  # view changes now
    support.check_plot(x)

    x.mode = 1  # turn atomatic update mode back on
    p1.g_type = "isofill"  # change display plot (p1) graphics type
    support.check_plot(x)
    p1.g_name = "quick"  # change display plot (p1) graphics name
    support.check_plot(x)

    p1.array = ["plot_2"]  # change display plot (p1) array object
    support.check_plot(x)
    p1.array = ["plot_1"]  # change display plot (p1) array object
    support.check_plot(x)
    p1.array = [s3]  # change display plot (p1) array object
    support.check_plot(x)

    #########################################################################
    # 								           #
    # Produce an overlay plot.                                              #
    # 								           #
    #########################################################################
    x.mode = 0  # turn atomatic update mode back on
    p1.array = ["plot_1"]  # change display plot (p1) array object
    p2.off = 0  # redisplay display plot (p2)
    p2.priority = 2  # bring display plot (p2) to the front
    p2.array = [s1]  # change display plot (p2) array object
    p2.g_type = "isoline"  # change display plot (p2) graphics type
    p2.g_name = "default"  # change display plot (p1) graphics name
    x.update()  # view changes now
    support.check_plot(x)

    x.mode = 1  # turn atomatic update mode back on
    x.removeobject(p1)  # remove the display plot (p1)
    support.check_plot(x)

    print "*************************************************************************************"
    print "******                                                                         ******"
    print "******   D I S P L A 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 "*************************************************************************************"
コード例 #20
0
ファイル: testvector.py プロジェクト: arulalant/uvcdat
def test():
   import vcs_legacy,cdms2 as cdms,time,os,sys,support          # import vcs_legacy 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_legacy.init()                         # construct vcs_legacy 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_legacy.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs_legacy.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 '*************************************************************************************'
コード例 #21
0
ファイル: testyxvsx.py プロジェクト: arulalant/uvcdat
def test():
   import vcs_legacy,cdms2 as cdms,time,os,sys,support          # import vcs_legacy 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_legacy.init()                         # construct vcs_legacy 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
   if not vcs_legacy.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error not a gm"
   else:
      if not vcs_legacy.isyxvsx(a):                  # test object 'a' if yxvsx
         raise Exception,"Error wrong type of gm"
   
   a.script('test','w')                 # save 'ASD7' yxvsx 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 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 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 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)
   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 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)
   
   objs = x.listelements('template')                   # show the list of templates
   t=x.createtemplate('test')           # create template 'test' from 'default' template
   if not vcs_legacy.istemplate(t):                  # test whether 't' is a template or not
      raise Exception,"Error creating tmeplate"
   
   x.clear()                            # clear the VCS Canvas
   x.plot(t,a,u,bg=bg)                        # plot yxvsx template 't', outline 'a', and arrays 'u':'v'
   support.check_plot(x)
   x.clear()                            # clear the VCS Canvas
   x.yxvsx(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_legacy.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs_legacy.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)
   
   objs = x.listelements('marker')                     # show the list of marker secondary objects
   m=x.getmarker('red')                 # get marker 'red'
   if not vcs_legacy.issecondaryobject(m):           # check to see if it is a secondary object
      raise Exception,"Error did not get marker"
   else:
      if not vcs_legacy.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('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 '*************************************************************************************'
コード例 #22
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 '*************************************************************************************'
コード例 #23
0
ファイル: testoutline.py プロジェクト: arulalant/uvcdat
def test():
   import vcs_legacy,cdms2 as cdms,time,os,sys,support          # import vcs_legacy 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_legacy.init()                         # construct vcs_legacy canvas
   

   a=x.createoutline('test')           # create 'test' outline
   if not vcs_legacy.isgraphicsmethod(a):            # test object 'a' for graphics method
      raise Exception, "Error did not retrieve the gm"
   else:
      if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(l):           # check to see if it is a secondary object
      raise Exception,"Error did not get line"
   else:
      if not vcs_legacy.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 '*************************************************************************************'
コード例 #24
0
ファイル: testisoline.py プロジェクト: AZed/uvcdat
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 '*************************************************************************************'
コード例 #25
0
ファイル: testscatter.py プロジェクト: l5d1l5/uvcdat
def test():
    import vcs_legacy, cdms2, time, os, sys, support  # import vcs_legacy and cu
    bg = support.bg
    f = cdms2.open(
        os.path.join(cdms2.__path__[0], '..', '..', '..', '..', 'sample_data',
                     'clt.nc'))
    u = f('u')  # get slab u
    v = f('v')  # get slab v
    x = vcs_legacy.init()  # construct vcs_legacy canvas

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

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

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

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

    ############################################################################
    # Change the scatter marker type                                           #
    ############################################################################
    #a.marker=0
    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)

    ############################################################################
    # Change the scatter marker size                                           #
    ############################################################################
    a.markersize = 5
    support.check_plot(x)
    a.markersize = 55
    support.check_plot(x)
    a.markersize = 100
    support.check_plot(x)
    a.markersize = 300
    support.check_plot(x)
    a.markersize = 15
    support.check_plot(x)

    ############################################################################
    # Change the scatter marker color                                          #
    ############################################################################
    a.markercolor = (77)
    support.check_plot(x)
    a.markercolor = 16
    support.check_plot(x)
    a.markercolor = 44  # same as a.markercolor=(44)
    support.check_plot(x)

    ############################################################################
    # Change the scatter settings to default                                   #
    ############################################################################
    a.markercolor = None
    support.check_plot(x)
    a.markersize = None
    support.check_plot(x)
    a.marker = None
    support.check_plot(x)

    a.marker = 1  # same as a.marker='dot'
    support.check_plot(x)

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

    t = x.createtemplate(
        'test')  # create template 'test' from 'default' template

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

    m = x.getmarker('red')  # get marker 'red'
    if vcs_legacy.issecondaryobject(
            m):  # check to see if it is a secondary object
        if not vcs_legacy.ismarker(m):  # check to see if it is a fill area
            raise Exception, "Error: this is not a marker object."
    else:
        raise Exception, "Error: this is not a sceondary object."

    ###########################################################################
    # 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)

    e = x.listelements('scatter')  # show list of scatter
    r = x.createscatter('test2', 'quick')  # create scatter 'test2'
    e2 = x.listelements('scatter')  # show list of scatter
    if e2 == e:
        raise Exception, "Error new scatter does not appear in list"
    e3 = list(e)
    e3.append("test2")
    e3.sort()
    if e3 != e2:
        raise "Error new scatter created but not matching old list of scatter"
    x.removeobject(r)  # remove scatter 'test2'
    e4 = x.listelements('scatter')  # show list of scatter
    if e4 != e:
        raise Exception, "Error method 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 '******   S C A T T E 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 '*************************************************************************************'
コード例 #26
0
ファイル: testorientation.py プロジェクト: NESII/uvcdat
def test():
    import vcs
    import cdms2
    import os
    import support          # import vcs and cdms

    # In the initial.attribute file the page orientation is set to
    # portrait. The test is to convert from portrait to landscape.
    # See your initial.attribute file and set "Page(portrait)".
    # This should be located at the top of the initial.attribute
    # file.
    x = vcs.init()
    x.pause_time = 2

    # Check for the canvas orientation, which should be by default 'landscape'
    if x.islandscape() == 1:              # will return 1 if true or 0 if false
        print 'landscape page mode'
    if x.isportrait() == 1:		      # will return 1 if true or 0 if false
        print 'portrait page mode'
    # will return 'landscape' or 'portrait'
    print 'The page orientation is ( %s ). ' % x.orientation()

    # Change the page orientation to portrait and print the test cases
    print '\nChange the page orientation to portrait and test'
    x.portrait()			# Change page orientation to portrait
    if x.islandscape() == 1:
        print 'landscape page mode'
    if x.isportrait() == 1:
        print 'portrait page mode'
    # will return 'landscape' or 'portrait'
    print 'The page orientation is ( %s ). ' % x.orientation()

    # Change the page orientation to landscape and print the test cases
    print '\nChange the page orientation to landscape and test'
    x.landscape()
    if x.islandscape() == 1:              # will return 1 if true or 0 if false
        print 'landscape page mode'
    if x.isportrait() == 1:		      # will return 1 if true or 0 if false
        print 'portrait page mode'
    # will return 'landscape' or 'portrait'
    print 'The page orientation is ( %s ). ' % x.orientation()

    #
    # prints in location mode
    # I feel this is correct!
    #
    f = cdms2.open(os.path.join(vcs.sample_data, 'clt.nc'))
    s = f('clt')
    x = vcs.init()
    t = x.createtemplate('new')
    to = x.createtextorientation('test')
    to.height = 30
    t.mean.y = 0.5
    t.mean.x = 0.5
    t.mean.textorientation = to
    t.mean.list()
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)
    x.flush()
    support.check_plot(x)

    #
    x.portrait()           # This will clear the screen
    support.check_plot(x)
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)

    #
    x.landscape()           # This will clear the screen
    support.check_plot(x)
    x.plot(s, t, bg=support.bg)
    support.check_plot(x)

    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   P A G E  O R I E N T A T I O N   T E S T   C O M P L E T E D          ******'
    print '******   S U C E S S F U L L Y    ! ! !                                        ******'
    print '******                                                                         ******'
    print '*************************************************************************************'
コード例 #27
0
ファイル: testcolor.py プロジェクト: l5d1l5/uvcdat
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy and cu

    bg = support.bg

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

    x.plot(s, 'default', 'isofill', 'quick', bg=bg)  # plot slab the old way
    support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337, 0, 0)  # change the geometry
        x.flush()
        support.check_plot(x)
    x.getcolormapname()  # get the active colormap name

    x.setcolormap("AMIP")  # change the colormap
    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()

    ############################################################
    # Change the color map cell 31.			      #
    ############################################################
    colors = {}
    cols = [31, 47, 63, 79, 95, 111, 127, 143, 159, 175, 191]
    for c in cols:
        colors[c] = [
            int(float(c - 16) / (191 - 16) * 100.),
        ] * 3
    for c in cols:
        vals = colors[c]
        x.setcolorcell(c, vals[0], vals[1], vals[2])
        support.check_plot(x)

    for c in colors.keys():
        okvals = colors[c]
        vals = x.getcolorcell(c)
        if vals != okvals:
            raise Exception, "Error setting color %i, should have been : %s, but is %s" % (
                c, str(okvals), str(vals))

    ##################################################################
    # Retrieve the color map RGB values for the given cell numbers.  #
    ##################################################################

    ##################################################################
    # Using colormap objects.                                        #
    ##################################################################
    objs = x.listelements(
        'colormap')  # show the list of line secondary objects
    c2 = x.getcolormap()  # get 'default' colormap object
    c = x.getcolormap('AMIP')  # get 'quick' colormap object
    if not vcs_legacy.issecondaryobject(
            c):  # check to see if it is a secondary object
        raise Exception, "Error did not get colormap as secondary obj"
    else:
        if not vcs_legacy.iscolormap(c):  # check to see if it is a line
            raise Exception, "Error object created is not colormap"

    a = x.listelements('colormap')  # show list of xyvsy
    r = x.createcolormap('new')  # create colormap
    a2 = x.listelements('colormap')  # show list of xyvsy
    if a2 == a:
        raise "error cm not created or not added to list"
    x.removeobject(r)  # remove xyvsy 'test2'
    a3 = x.listelements('colormap')  # show list of xyvsy
    if a3 != a:
        raise Exception, "error cm not removed"
    c3 = x.createcolormap('new')  # create a new colormap object from default
    x.setcolormap('new')  # change the colormap to 'new' colormap
    c3.index  # show just the colormap RGB values
    for c in colors.keys():
        vals = colors[c]
        c3.index[c] = vals  # change color cell

    for c in colors.keys():
        okvals = colors[c]
        vals = x.getcolorcell(c)
        if vals != okvals:
            raise Exception, "Error setting color %i, should have been : %s, but is %s" % (
                c, str(okvals), str(vals))

    c3.script('test.scr', 'w')  # save 'new' colormap as a VCS script
    c3.script('test', 'w')  # save 'new' colormap as a Python script
    if support.dogui is True:
        x.colormapgui()  # display the colormap GUI

    print '***************************************************************************************'
    print '******                                                                           ******'
    print '******   C O L O R M A P   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 '***************************************************************************************'
コード例 #28
0
ファイル: testdisplayplot.py プロジェクト: jccosta/vcs
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'))
    s1 = f.getslab('clt')  # get slab clt
    s2 = f.getslab('clt', 4, 4, -45, 45, -90, 90)
    s3 = f.getslab('clt', 6, 6, 0, 90, 0, 180)
    x = vcs.init()  # construct vcs canvas

    p1 = x.plot(s1, bg=bg)  # plot slab the old way
    support.check_plot(x)
    x.plot(s2, bg=bg)  # plot slab the old way
    support.check_plot(x)

    p2 = x.getplot('dpy_plot_2')  # get display plot s2

    if not vcs.queries.isplot(p1):  # check for display plot object
        raise Exception("Error, p1 not a display!")

    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()

    p2.name = 'p2_name'  # change display plot's (p2) name
    p2.off = 1  # undisplay display plot (p2)
    support.check_plot(x)
    p2.off = 0  # redisplay display plot (p2)
    support.check_plot(x)

    p1.priority = 1  # bring display plot (p1) to the front
    support.check_plot(x)

    p2.off = 1  # undisplay display plot (p2)
    p1.template = 'default_dud'  # change display plot (p1) template
    support.check_plot(x)

    x.mode = 0  # turn atomatic update off
    p1.template = 'default'  # change display plot (p1) template
    p1.g_type = 'isoline'  # change display plot (p1) graphics type
    support.check_plot(x)
    x.update()  # view changes now
    support.check_plot(x)

    x.mode = 1  # turn atomatic update mode back on
    p1.g_type = 'isofill'  # change display plot (p1) graphics type
    support.check_plot(x)
    # change display plot (p1) graphics name
    p1.g_name = 'quick'
    support.check_plot(x)

    p1.array = ['plot_2']  # change display plot (p1) array object
    support.check_plot(x)
    p1.array = ['plot_1']  # change display plot (p1) array object
    support.check_plot(x)
    p1.array = [s3]  # change display plot (p1) array object
    support.check_plot(x)

    #########################################################################
    # Produce an overlay plot.                                              #
    #########################################################################
    x.mode = 0  # turn atomatic update mode back on
    p1.array = ['plot_1']  # change display plot (p1) array object
    p2.off = 0  # redisplay display plot (p2)
    p2.priority = 2  # bring display plot (p2) to the front
    p2.array = [s1]  # change display plot (p2) array object
    # change display plot (p2) graphics type
    p2.g_type = 'isoline'
    # change display plot (p1) graphics name
    p2.g_name = 'default'
    x.update()  # view changes now
    support.check_plot(x)

    x.mode = 1  # turn atomatic update mode back on
    x.removeobject(p1)  # remove the display plot (p1)
    support.check_plot(x)

    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   D I S P L A 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 '*************************************************************************************'
コード例 #29
0
import vcs, sys, os, support
bg = support.bg

tp = vcs.init()
tp.portrait()

mark = tp.createmarker('mark')
mark.x = [0.5]
mark.y = [.9]
mark.color = 242
mark.type = 'cross'
mark.size = 12
n = 4
i = 0
tp.plot(mark, bg=bg)
support.check_plot(tp)
tp.mode = 0  # no aauto update
for i in range(1, 3):
    mark.y = [1. - (i / float(n))]
    tp.plot(mark, bg=bg)
    support.check_plot(tp)
tp.update()
support.check_plot(tp)
tp.mode = 1
for i in range(1, n):
    mark.y = [1. - (i / float(n))]
    tp.plot(mark, bg=bg)
    support.check_plot(tp)
コード例 #30
0
ファイル: testxyvsy.py プロジェクト: arulalant/uvcdat
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy 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_legacy.init()  # construct vcs_legacy 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_legacy.isgraphicsmethod(a):  # test object 'a' for graphics method
        raise Exception, "Error did not retrieve the gm"
    else:
        if not vcs_legacy.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_legacy.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_legacy.issecondaryobject(l):  # check to see if it is a secondary object
        raise Exception, "Error did not get line"
    else:
        if not vcs_legacy.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_legacy.issecondaryobject(m):  # check to see if it is a secondary object
        raise Exception, "Error did not get marker"
    else:
        if not vcs_legacy.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 "*************************************************************************************"
コード例 #31
0
ファイル: testtemplate.py プロジェクト: l5d1l5/uvcdat
def test():
    import vcs_legacy, cdms2 as cdms, time, os, sys, support  # import vcs_legacy and cdms
    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_legacy.init()  # construct vcs_legacy canvas

    tt = x.createtext()

    a = x.listelements('template')  # show the list of templates
    t = x.createtemplate('test', 'ASD')  # create template 'test' from ASD

    t.ylabel1.texttable = tt
    t.ylabel1.textorientation = tt

    a2 = x.listelements('template')  # show the list of templates
    if a2 == a:
        raise Excpetion, "Error, template not added to list"
    if not vcs_legacy.istemplate(t):
        raise Exception, "Error obj created is not a template!"

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

    g = x.createisofill('test')  # create isofill 'test' from 'default' isofill

    x.plot(g, s, t, bg=bg)  # make isofill plot
    support.check_plot(x)

    #############################################################################
    # Show the many different ways to show the template members (attributes)    #
    # and their values.                                                         #
    #############################################################################
    ##    t.list()				# list the templates members
    ##    t.list('text')			# list only text members, same as t.list('Pt')
    ##    t.list('format')			# list only format members, same as t.list('Pf')
    ##    t.list('xtickmarks')			# list only xtickmarks members, same as t.list('Pxt')
    ##    t.list('ytickmarks')			# list only ytickmarks members, same as t.list('Pyt')
    ##    t.list('xlabels')			# list only xlabels members, same as t.list('Pxl')
    ##    t.list('ylabels')			# list only ylabels members, same as t.list('Pyl')
    ##    t.list('boxeslines')			# list only boxeslines members, same as t.list('Pbl')
    ##    t.list('legend')			# list only legend member, same as t.list('Pls')
    ##    t.list('data')			# list only data member, same as t.list('Pds')
    ##    t.list('file')			# list only file member and its values
    ##    t.file.list()			# list only file member and its values
    ##    t.list('mean')			# list only mean member and its values
    ##    t.mean.list()			# list only mean member and its values

    #############################################################################
    # The screen x and y positions on the screen are normalized between 0 and 1 #
    # for both the x and y axis.                                                #
    #############################################################################
    t.mean.priority = 0  # remove the "Mean" text from the plot
    support.check_plot(x)
    t.mean.priority = 1  # re-display the "Mean" text on the plot
    support.check_plot(x)
    t.mean.x = 0.5  # move the "Mean" text to x-axis center
    support.check_plot(x)
    t.mean.y = 0.5  # move the "Mean" text to y-axis center
    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()

    #############################################################################
    # Position the data in front of the "Mean" text, then move the "Mean" text  #
    # in front of the data.                                                     #
    #############################################################################
    t.data.priority = 2
    support.check_plot(x)
    t.data.priority = 3
    support.check_plot(x)
    #  The above does not work. I will fix this later when time permits.
    # seems to work now 2007-07-16
    t.data.priority = 1  # back to normal
    support.check_plot(x)

    #############################################################################
    # Change the font representation for the "Mean" text.                       #
    # You can set the text by using text objects or text names.                 #
    #############################################################################
    tt = x.createtexttable('test')
    to = x.createtextorientation('test')
    t.mean.texttable = tt  # set texttable by using texttable object
    support.check_plot(x)
    t.mean.textorientation = 'test'  # set textorientation by using textorientation name
    support.check_plot(x)
    t.mean.list()  # show the mean member and their new values
    tt.font = 2  # change the font
    support.check_plot(x)
    to.height = 40  # change the height
    support.check_plot(x)

    #############################################################################
    # Change the legend space.                                                  #
    #############################################################################
    t.legend.list()  # list the legend members
    x.mode = 0  # turn the automatic update off
    t.legend.x1 = 0.85
    support.check_plot(x)
    t.legend.y1 = 0.90
    support.check_plot(x)
    t.legend.x2 = 0.95
    support.check_plot(x)
    t.legend.y2 = 0.16
    support.check_plot(x)
    x.update()
    support.check_plot(x)
    #  The above does not work. I will fix this later when time permits.

    print '***************************************************************************************'
    print '******                                                                           ******'
    print '******   T E M P L A T 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 '***************************************************************************************'
コード例 #32
0
ファイル: testisofill.py プロジェクト: jccosta/vcs
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'))
    s = f('clt')  # get slab clt
    x = vcs.init()  # construct vcs canvas

    x.plot(s, 'default', 'isofill', 'quick', bg=bg)  # plot slab the old way
    support.check_plot(x)

    # Check the legend
    g = x.createisofill('vcsmoduletest')
    x.clear()  # clear the VCS Canvas
    x.plot(s, g, bg=bg)  # plot slab the new way
    support.check_plot(x)
    g.legend = (10, 30, 70, 120)
    support.check_plot(x)
    g.legend = {0: 'test string1', 50: 'test string2', 100: 'test string3'}
    support.check_plot(x)
    g.legend = None
    support.check_plot(x)

    if bg == 0:
        x.geometry(450, 337, 100, 0)  # change the geometry and location
        x.flush()
        support.check_plot(x)

    # open and plot a missing data with isofill
    f = cdms.open(os.path.join(vcs.sample_data, 'tas_cru_1979.nc'))
    s = f('tas', longitude=(-180, 180), latitude=(-90, 90)) + 273.15
    x.clear()  # clear the VCS Canvas
    x.plot(s, 'default', 'isofill', 'quick',
           bg=bg)  # plot missing value slabe the old way
    support.check_plot(x)

    a = x.getisofill('quick')  # get 'quick' isofill 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.isisofill(a):  # check for isofill
            raise Exception("Error gm is not right type")

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

    x.setcolormap("AMIP")  # change the colormap from default to AMIP

    a.missing = 241  # change the missing background color to black
    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()

    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)

    a.levels = ([0, 220], [230, 240], [250, 260])  # change the isofill levels
    support.check_plot(x)
    # change the isofill levels
    a.levels = ([0, 220, 225, 230, 235, 240], [230, 240], [250, 260])
    support.check_plot(x)
    a.levels = ([0, 220, 225, 230, 235, 240], )  # change the isofill levels
    support.check_plot(x)
    # change the isofill levels
    a.levels = ([0, 220, 225, 230, 235, 240, 245, 250])
    support.check_plot(x)
    a.levels = [0, 220, 225, 230, 235, 240]  # change the isofill levels
    support.check_plot(x)
    a.levels = (0.0, 220.0, 225.0, 230.0, 235.0, 240.0, 250.0
                )  # change the isofill levels
    support.check_plot(x)
    a.levels = ([1e20], )  # change back to default settings
    support.check_plot(x)
    a.levels = (0, 220, 225, 230, 235, 240, 250, 260, 270
                )  # change the isofill levels
    support.check_plot(x)

    ##########################################################################
    # Below will produce an error. Later, if needed, I will add this functionality.	   #
    # a.levels=('0','20','25','30')			# this will produce an error	   #
    ##########################################################################

    a.ext_1 = 'y'  # add the extended legend arrow to the left
    support.check_plot(x)
    a.ext_1 = 'n'  # remove the extended legend arrow to the left
    support.check_plot(x)
    a.ext_2 = 'y'  # add the extended legend arrow to the right
    support.check_plot(x)
    a.ext_2 = 'n'  # remove the extended legend arrow to the right
    support.check_plot(x)
    a.exts('y', 'y')  # add the extended legend arrow to left and right
    support.check_plot(x)
    a.exts('n', 'n')  # remove the extended legend arrow to left and right
    support.check_plot(x)

    a.fillareastyle = 'pattern'  # change the fill style to pattern
    support.check_plot(x)
    a.fillareastyle = 'hatch'  # change the fill style to hatch
    support.check_plot(x)
    a.fillareaindices = ([1, 3, 5, 6, 9, 18])  # set the hatch index patterns
    support.check_plot(x)

    # set the fill area color indices
    a.fillareacolors = ([22, 33, 44, 55, 66, 77])
    support.check_plot(x)
    a.fillareacolors = None  # use default color indices
    support.check_plot(x)
    a.fillareastyle = 'solid'  # change the fill style back to solid
    support.check_plot(x)

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

    # 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")

    # show the list of fillarea secondary objects
    objs = x.listelements('fillarea')
    f = x.getfillarea('AuTo_1')  # get fillarea 'red'
    # check to see if it is a secondary object
    if not vcs.issecondaryobject(f):
        raise Exception("Error did not get fillarea")
    else:
        # check to see if it is a fillarea
        if not vcs.isfillarea(f):
            raise Exception("Error object created is not fillarea")

    a.levels = (220, 225, 230, 235, 240, 250, 260, 270, 280, 290, 300, 310
                )  # change the isofill levels
    x.clear()  # clear the VCS Canvas
    x.plot(a, t, s, bg=bg)  # plot array using isofill 'a' and template 't'
    support.check_plot(x)
    a.fillareaindices = (3, 4, 7, 9, 11)  # set the indices
    support.check_plot(x)
    a.fillareaindices = (f, f, f, f, f, f
                         )  # set the indices using the fillarea object
    support.check_plot(x)
    a.fillareaindices = (f, 2, 4, 7
                         )  # reset the indices using the fillarea object
    support.check_plot(x)
    a.fillareaindices = (7, f, f, f, 8
                         )  # resett the indices using the fillare object
    support.check_plot(x)

    f.color = 44  # change the fillarea object's color
    support.check_plot(x)
    f.style = 'hatch'  # change the fillarea object's fill style
    support.check_plot(x)

    x.scriptobject(a, 'test')  # save 'quick' isofill as a Python script
    x.scriptobject(f, 'test')  # save 'def37' fill area as a Python script

    a = x.listelements('isofill')  # show list of gm
    r = x.createisofill('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('isofill')  # 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('isofill')  # show list of gm
    if a3 != a:
        raise "error gm not removed"

    ##########################################################################
    # to see how x.update and x.mode work, see testisofill.py			   #
    ##########################################################################
    # x.update()
    # x.mode=1
    # x.mode=0
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   I S O 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 '*************************************************************************************'
コード例 #33
0
ファイル: test_mesh_set_levels.py プロジェクト: NESII/uvcdat
# Adapted for numpy/ma/cdms2 by convertcdms.py
import vcs
import cdms2 as cdms
import support
bg = support.bg


f = cdms.open("test_mesh.nc")
data = f("variable_227")
mesh = f("variable_226")
x = vcs.init()

elts = x.listelements("meshfill")

m = x.createmeshfill("PTb_968")
elts2 = x.listelements("meshfill")
if elts2 == elts:
    raise Exception("Error, meshfill object seem to have not been created")

levels = [-1., -.8, -.6, -.4, -.2, 0, .2, .4, .6, .8, 1.]

m.levels = levels

if list(m.levels) != levels:
    raise Exception("levels not set porperly!")

x.plot(data, mesh, m, bg=bg)
support.check_plot(x)
コード例 #34
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'))
    s = f('clt')  # get slab clt
    x = vcs.init()  # construct vcs canvas

    x.plot(s, 'default', 'boxfill', 'quick', bg=bg)  # plot slab the old way
    # support.check_plot(x)
    if bg == 0:
        x.geometry(450, 337)  # change the geometry
        x.flush()
        # support.check_plot(x)

    a = x.getboxfill('quick')  # get 'quick' boxfill 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.isboxfill(a):  # check for boxfill
            raise Exception("Error gm is not right type")

    # Change boxfill's legend
    a.legend = {
        0: 'Great',
        20: 'Outstanding',
        40: 'Wonderful',
        60: 'Happy',
        80: 'Exciting!',
        100: 'Best'
    }
    support.check_plot(x)
    a.legend = {0: '100', 20: '80', 40: '60', 60: '40', 80: '20', 100: '0'}
    support.check_plot(x)
    a.legend = {
        0: 'Blue',
        20: 'Green',
        40: 'Yellow',
        60: 'Red',
        80: 'Burgundy',
        100: 'Magenta'
    }
    support.check_plot(x)
    a.legend = (90)
    support.check_plot(x)
    a.legend = [10, 90]
    support.check_plot(x)
    a.legend = (1.5, 45.8, 89.7)
    support.check_plot(x)
    a.legend = None
    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()

    a.color_1 = 50  # change color_1 index attribute
    support.check_plot(x)

    a.xticlabels('lon30', 'lon30')  # change xlabels attribute
    support.check_plot(x)
    a.xticlabels('', '')  # change remove xlables from plot
    support.check_plot(x)
    a.datawc(-45.0, 45.0, -90.0, 90.0)  # change region
    support.check_plot(x)
    a.datawc(1e20, 1e20, 1e20, 1e20)  # change region back
    support.check_plot(x)
    a.xticlabels('*')  # change attribute labels back
    support.check_plot(x)

    x.mode = 0  # turn atomatic update off
    a.color_1 = 100  # change color_1 attribute
    a.color_2 = 200  # change color_2 index value
    a.xticlabels('lon30', 'lon30')  # change attribute
    a.yticlabels('', '')  # change y-labels off attribute
    a.datawc(-45.0, 45.0, -90.0, 90.0)  # change region
    support.check_plot(x)
    x.update()  # view changes now
    support.check_plot(x)

    # Test log10 boxfill plot
    x.clear()  # clear the VCS Canvas
    a.boxfill_type = 'log10'  # Change the Boxfill type to log10
    a.datawc(1e20, 1e20, 1e20, 1e20)  # change region
    a.level_1 = 1e20  # change level_1
    a.level_2 = 1e20  # change level_2
    a.color_1 = 16  # change color_1 attribute
    a.color_2 = 239  # change color_2 index value
    x.boxfill(s, a, bg=bg)  # plot using default template
    support.check_plot(x)

    # Test custom boxfill plot
    x.clear()  # clear the VCS Canvas
    a.boxfill_type = 'custom'  # Change the Boxfill type to custom
    a.levels = (0, 20, 35, 40, 75, 100)  # Set the custom ranges
    a.fillareacolors = (16, 25, 38, 55, 100, 166)  # Set the color indices
    x.boxfill(s, a, bg=bg)  # plot using default template
    support.check_plot(x)

    # Test legend with fillareacolors boxfill plot
    x.clear()  # clear the VCS Canvas
    # Change the Boxfill type back to linear
    a.boxfill_type = 'linear'
    a.fillareacolors = (254, )  # Set the color indices
    a.level_1 = 0  # change level_1
    a.level_2 = 0  # change level_2
    x.boxfill(s, a, bg=bg)  # plot using default template
    support.check_plot(x)

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

    x.mode = 1  # turn atomatic update mode back on
    a.color_1 = 16  # change color_1 attribute
    support.check_plot(x)
    a.color_2 = 239  # change color_2 index value
    support.check_plot(x)
    a.level_1 = 20  # change level_1
    support.check_plot(x)
    a.level_2 = 80  # change level_2
    support.check_plot(x)
    a.datawc(1e20, 1e20, 1e20, 1e20)  # change region back
    support.check_plot(x)
    a.yticlabels('*')  # change y-labels attribute
    support.check_plot(x)

    x.scriptobject(a, 'test', 'a')  # append 'quick' to the existing file
    a.script('test.scr', 'w')  # save 'quick' as a VCS script file

    # 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")

    x.clear()  # clear the VCS Canvas
    x.boxfill(s, a, 'default', bg=bg)  # plot using default template
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    # plot using default template, but, reverse the order
    x.boxfill(a, 'default', s, bg=bg)
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    x.boxfill(s, a, t, bg=bg)  # plot using template 'test'
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    # plot using template 'test', but reverse the objects
    x.boxfill(a, s, t, bg=bg)
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas
    # plot using template 'test', but reverse the objects
    x.boxfill(t, a, s, bg=bg)
    support.check_plot(x)
    x.clear()  # clear the VCS Canvas

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

    a = x.listelements('boxfill')  # show list of xyvsy
    r = x.createboxfill('test2', 'quick')  # create xyvsy 'test2'
    a2 = x.listelements('boxfill')  # 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('boxfill')  # show list of xyvsy
    if a3 != a:
        raise "error gm not removed"

    # get 'quick' boxfill graphics method
    a = x.getboxfill('quick')
    x.clear()
    x.plot(s, a, bg=bg)
    support.check_plot(x)
    if support.dogui:
        x.graphicsmethodgui('boxfill',
                            'quick')  # display the boxfill graphics method GUI
        raw_input("Press enter when done with gui testing")
    print '*************************************************************************************'
    print '******                                                                         ******'
    print '******   B O X 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 '*************************************************************************************'