Changeset 1095


Ignore:
Timestamp:
07/31/06 12:18:37 (18 years ago)
Author:
mar637
Message:

moved mpl version check to class import. It prints warning now. No more support for mpl <0.87 in ps output (see Ticket #34). added asap rcparam plotter.papertype as wrapper for mpl ps.papertype

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/python/asaplotbase.py

    r1086 r1095  
    1515from matplotlib.ticker import ScalarFormatter
    1616from matplotlib.ticker import NullLocator
     17if int(matplotlib.__version__.split(".")[1]) < 87:
     18    print "Warning: matplotlib version < 0.87. This might cause errors. Please upgrade."
    1719
    1820class MyFormatter(ScalarFormatter):
     
    194196
    195197        """
    196         if isinstance(loc,int):
    197             if 0 > loc > 10: loc = 0
     198        if isinstance(loc, int):
     199            if 0 >= loc > 10: loc = None
    198200            self.loc = loc
    199         self.show()
     201        else:
     202            self.loc = None
     203        #self.show()
    200204
    201205
     
    376380
    377381
    378     def save(self, fname=None, orientation=None, dpi=None):
     382    def save(self, fname=None, orientation=None, dpi=None, papertype=None):
    379383        """
    380384        Save the plot to a file.
     
    385389        directory.
    386390        """
     391        from asap import rcParams
     392        if papertype is None:
     393            papertype = rcParams['plotter.papertype']
    387394        if fname is None:
    388395            from datetime import datetime
     
    408415                        else:
    409416                            orientation = 'portrait'
    410                     a4w = 8.25
    411                     a4h = 11.25
     417                    from matplotlib.backends.backend_ps import papersize
     418                    pw,ph = papersize[papertype.lower()]
    412419                    ds = None
    413420                    if orientation == 'landscape':
    414                         ds = min(a4h/w,a4w/h)
     421                        ds = min(ph/w, pw/h)
    415422                    else:
    416                         ds = min(a4w/w,a4h/h)
     423                        ds = min(pw/w, ph/h)
    417424                    ow = ds * w
    418425                    oh = ds * h
    419                     self.figure.set_figsize_inches((ow,oh))
    420                     from matplotlib import __version__ as mv
    421                     # hack to circument ps bug in eraly versions of mpl
    422                     if int(mv.split(".")[1]) < 87:
    423                         self.figure.savefig(fname, orientation=orientation)
    424                     else:
    425                         self.figure.savefig(fname, orientation=orientation,
    426                                             papertype="a4")
    427                     self.figure.set_figsize_inches((w,h))
     426                    self.figure.set_figsize_inches((ow, oh))
     427                    self.figure.savefig(fname, orientation=orientation,
     428                                        papertype=papertype.lower())
     429                    self.figure.set_figsize_inches((w, h))
    428430                    print 'Written file %s' % (fname)
    429431                else:
     
    667669##                         lsiz = rcParams['legend.fontsize']-len(lines)/2
    668670                        sp['axes'].legend(tuple(lines), tuple(labels),
    669                                           self.loc) 
     671                                          self.loc)
    670672##                                           ,prop=FontProperties(size=lsiz) )
    671673                    else:
    672674                        sp['axes'].legend((' '))
    673675
    674             ax = sp['axes']
    675676            from matplotlib.artist import setp
    676677            xts = rcParams['xtick.labelsize']-(self.cols)/2
Note: See TracChangeset for help on using the changeset viewer.