Revision: 6297
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6297&view=rev
Author:   jdh2358
Date:     2008-10-22 18:45:10 +0000 (Wed, 22 Oct 2008)

Log Message:
-----------
added ticker api docs

Modified Paths:
--------------
    trunk/matplotlib/API_CHANGES
    trunk/matplotlib/CHANGELOG
    trunk/matplotlib/doc/api/index.rst
    trunk/matplotlib/lib/matplotlib/axes.py
    trunk/matplotlib/lib/matplotlib/ticker.py

Added Paths:
-----------
    trunk/matplotlib/doc/api/ticker_api.rst
    trunk/matplotlib/doc/utils/
    trunk/matplotlib/doc/utils/pylab_names.py

Modified: trunk/matplotlib/API_CHANGES
===================================================================
--- trunk/matplotlib/API_CHANGES        2008-10-22 17:51:36 UTC (rev 6296)
+++ trunk/matplotlib/API_CHANGES        2008-10-22 18:45:10 UTC (rev 6297)
@@ -1,8 +1,8 @@
 Changes for 0.98.x
 ==================
 
-* Restored 0.91 behavior of get_xlim/ylim returning a tuple
-  rather than array - JDH
+* set_xlim, ylim now return a copy of the viewlim array to
+  avoid modify inplace surprises
 
 * AFM.get_fullname() and get_familyname() no longer raise an
   exception if the AFM file does not specify these optional attributes,

Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG  2008-10-22 17:51:36 UTC (rev 6296)
+++ trunk/matplotlib/CHANGELOG  2008-10-22 18:45:10 UTC (rev 6297)
@@ -1,5 +1,5 @@
-2008-10-21 Restored 0.91 behavior of get_xlim/ylim returning a tuple
-           rather than array - JDH
+2008-10-21 set_xlim, ylim now return a copy of the viewlim array to
+           avoid modify inplace surprises
 
 2008-10-20 Added image thumbnail generating function
            matplotlib.image.thumbnail.  See

Modified: trunk/matplotlib/doc/api/index.rst
===================================================================
--- trunk/matplotlib/doc/api/index.rst  2008-10-22 17:51:36 UTC (rev 6296)
+++ trunk/matplotlib/doc/api/index.rst  2008-10-22 18:45:10 UTC (rev 6297)
@@ -26,4 +26,5 @@
    mlab_api.rst
    path_api.rst
    pyplot_api.rst
+   ticker_api.rst
    index_backend_api.rst

Added: trunk/matplotlib/doc/api/ticker_api.rst
===================================================================
--- trunk/matplotlib/doc/api/ticker_api.rst                             (rev 0)
+++ trunk/matplotlib/doc/api/ticker_api.rst     2008-10-22 18:45:10 UTC (rev 
6297)
@@ -0,0 +1,12 @@
+*******************
+matplotlib ticker
+*******************
+
+
+:mod:`matplotlib.ticker`
+==========================
+
+.. automodule:: matplotlib.ticker
+   :members:
+   :undoc-members:
+   :show-inheritance:

Added: trunk/matplotlib/doc/utils/pylab_names.py
===================================================================
--- trunk/matplotlib/doc/utils/pylab_names.py                           (rev 0)
+++ trunk/matplotlib/doc/utils/pylab_names.py   2008-10-22 18:45:10 UTC (rev 
6297)
@@ -0,0 +1,60 @@
+"""
+autogenerate some tables for pylab namespace
+"""
+from pylab import *
+d = locals()
+keys = d.keys()
+keys.sort()
+
+modd = dict()
+for k in keys:
+    o = d[k]
+    if not callable(o):
+        continue
+    doc = getattr(o, '__doc__', None)
+    if doc is not None:
+        doc = ' - '.join([line for line in doc.split('\n') if 
line.strip()][:2])
+        
+    mod = getattr(o, '__module__', None)
+    if mod is None:
+        mod = 'unknown'
+
+    if mod is not None:
+        if mod.startswith('matplotlib'):
+            if k[0].isupper():
+                k = ':class:`~%s.%s`'%(mod, k)
+            else:
+                k = ':func:`~%s.%s`'%(mod, k)
+            mod = ':mod:`%s`'%mod            
+        elif mod.startswith('numpy'):
+            #k = '`%s <%s>`_'%(k, 
'http://scipy.org/Numpy_Example_List_With_Doc#%s'%k)
+            k = '`%s <%s>`_'%(k, 
'http://sd-2116.dedibox.fr/pydocweb/doc/%s.%s'%(mod, k))
+
+
+    if doc is None: doc = 'TODO'
+
+    mod, k, doc = mod.strip(), k.strip(), doc.strip()[:80]
+    modd.setdefault(mod, []).append((k, doc))
+
+mods = modd.keys()
+mods.sort()
+for mod in mods:
+    border = '*'*len(mod)
+    print mod
+    print border
+
+    print
+    funcs, docs = zip(*modd[mod])
+    maxfunc = max([len(f) for f in funcs])
+    maxdoc = max(40, max([len(d) for d in docs]) )
+    border = ' '.join(['='*maxfunc, '='*maxdoc])
+    print border
+    print ' '.join(['symbol'.ljust(maxfunc), 'description'.ljust(maxdoc)])
+    print border
+    for func, doc in modd[mod]:
+        row = ' '.join([func.ljust(maxfunc), doc.ljust(maxfunc)])
+        print row
+
+    print border
+    print
+    #break

Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py     2008-10-22 17:51:36 UTC (rev 
6296)
+++ trunk/matplotlib/lib/matplotlib/axes.py     2008-10-22 18:45:10 UTC (rev 
6297)
@@ -1769,9 +1769,10 @@
 
     def get_xlim(self):
         """
-        Get the x-axis range [*xmin*, *xmax*]
+        Get the x-axis range as a length 2 attay [*xmin*, *xmax*]
         """
-        return tuple(self.viewLim.intervalx)
+        #         # copy of the viewlim array to avoid modify inplace surprises
+        return self.viewLim.intervalx.copy()
 
     def set_xlim(self, xmin=None, xmax=None, emit=True, **kwargs):
         """
@@ -1781,7 +1782,7 @@
 
         Set the limits for the xaxis
 
-        Returns the current xlimits as a length 2 tuple: [*xmin*, *xmax*]
+        Returns the current xlimits as a length 2 tuple: (*xmin*, *xmax*)
 
         Examples::
 
@@ -1942,9 +1943,10 @@
 
     def get_ylim(self):
         """
-        Get the y-axis range [*ymin*, *ymax*]
+        Get the y-axis range as a length two array [*ymin*, *ymax*]
         """
-        return tuple(self.viewLim.intervaly)
+        # copy of the viewlim array to avoid modify inplace surprises
+        return self.viewLim.intervaly.copy()
 
     def set_ylim(self, ymin=None, ymax=None, emit=True, **kwargs):
         """

Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py   2008-10-22 17:51:36 UTC (rev 
6296)
+++ trunk/matplotlib/lib/matplotlib/ticker.py   2008-10-22 18:45:10 UTC (rev 
6297)
@@ -21,28 +21,35 @@
 
 The Locator subclasses defined here are
 
-  * NullLocator     - No ticks
+:class:`NullLocator`
+    No ticks
 
-  * FixedLocator    - Tick locations are fixed
+:class:`FixedLocator`
+    Tick locations are fixed
 
-  * IndexLocator    - locator for index plots (eg. where x = range(len(y)))
+:class:`IndexLocator`
+    locator for index plots (eg. where x = range(len(y)))
 
-  * LinearLocator   - evenly spaced ticks from min to max
+:class:`LinearLocator`
+    evenly spaced ticks from min to max
 
-  * LogLocator      - logarithmically ticks from min to max
+:class:`LogLocator`
+    logarithmically ticks from min to max
 
-  * MultipleLocator - ticks and range are a multiple of base;
-                      either integer or float
+:class:`MultipleLocator`
+    ticks and range are a multiple of base;
+                  either integer or float
+:class:`OldAutoLocator`
+    choose a MultipleLocator and dyamically reassign it for
+    intelligent ticking during navigation
 
-  * OldAutoLocator  - choose a MultipleLocator and dyamically reassign
-                      it for intelligent ticking during navigation
+:class:`MaxNLocator`
+    finds up to a max number of ticks at nice  locations
 
-  * MaxNLocator     - finds up to a max number of ticks at nice
-                      locations
+:class:`AutoLocator`
+    :class:`MaxNLocator` with simple defaults. This is the default
+    tick locator for most plotting.
 
-  * AutoLocator     - MaxNLocator with simple defaults. This is the
-                      default tick locator for most plotting.
-
 There are a number of locators specialized for date locations - see
 the dates module
 
@@ -70,21 +77,27 @@
 formatter operates on a single tick value and returns a string to the
 axis.
 
-  * NullFormatter      - no labels on the ticks
+:clss:`NullFormatter`
+    no labels on the ticks
 
-  * FixedFormatter     - set the strings manually for the labels
+:clss:`FixedFormatter`
+    set the strings manually for the labels
 
-  * FuncFormatter      - user defined function sets the labels
+:clss:`FuncFormatter`
+    user defined function sets the labels
 
-  * FormatStrFormatter - use a sprintf format string
+:clss:`FormatStrFormatter`
+    use a sprintf format string
 
-  * ScalarFormatter    - default formatter for scalars; autopick the fmt string
+:clss:`ScalarFormatter`
+    default formatter for scalars; autopick the fmt string
 
-  * LogFormatter       - formatter for log axes
+:clss:`LogFormatter`
+    formatter for log axes
 
 
 You can derive your own formatter from the Formatter base class by
-simply overriding the __call__ method.  The formatter class has access
+simply overriding the ``__call__`` method.  The formatter class has access
 to the axis view and data limits.
 
 To control the major and minor tick label formats, use one of the
@@ -95,7 +108,7 @@
   ax.yaxis.set_major_formatter( ymajorFormatter )
   ax.yaxis.set_minor_formatter( yminorFormatter )
 
-See :file:`examples/major_minor_demo1.py` for an example of setting
+See :ref:`pylab_examples-major_minor_demo1` for an example of setting
 major an minor ticks.  See the :module:`matplotlib.dates` module for
 more information and examples of using date locators and formatters.
 """
@@ -176,38 +189,38 @@
     def fix_minus(self, s):
         """
         some classes may want to replace a hyphen for minus with the
-        proper unicode symbol as described here
-
-          
http://sourceforge.net/tracker/index.php?func=detail&aid=1962574&group_id=80706&atid=560720.
+        proper unicode symbol as described `here
+        
<http://sourceforge.net/tracker/index.php?func=detail&aid=1962574&group_id=80706&atid=560720>`_.
         The default is to do nothing
 
-        Note, if you use this method, eg in format_data or call, you
-        probably don't want to use it for format_data_short since the
-        toolbar uses this for interative coord reporting and I doubt
-        we can expect GUIs across platforms will handle the unicode
-        correctly.  So for now the classes that override fix_minus
-        should have an explicit format_data_short method
+        Note, if you use this method, eg in :meth`format_data` or
+        call, you probably don't want to use it for
+        :meth:`format_data_short` since the toolbar uses this for
+        interative coord reporting and I doubt we can expect GUIs
+        across platforms will handle the unicode correctly.  So for
+        now the classes that override :meth:`fix_minus` should have an
+        explicit :meth:`format_data_short` method
         """
         return s
 
 class NullFormatter(Formatter):
     'Always return the empty string'
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         return ''
 
 class FixedFormatter(Formatter):
     'Return fixed strings for tick labels'
     def __init__(self, seq):
         """
-        seq is a sequence of strings.  For positions i<len(seq) return
-        seq[i] regardless of x.  Otherwise return ''
+        seq is a sequence of strings.  For positions ``i<len(seq)` return
+        *seq[i]* regardless of *x*.  Otherwise return ''
         """
         self.seq = seq
         self.offset_string = ''
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         if pos is None or pos>=len(self.seq): return ''
         else: return self.seq[pos]
 
@@ -225,7 +238,7 @@
         self.func = func
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         return self.func(x, pos)
 
 
@@ -237,7 +250,7 @@
         self.fmt = fmt
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         return self.fmt % x
 
 class OldScalarFormatter(Formatter):
@@ -246,7 +259,7 @@
     """
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         xmin, xmax = self.axis.get_view_interval()
         d = abs(xmax - xmin)
 
@@ -304,7 +317,7 @@
         else: return s.replace('-', u'\u2212')
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         if len(self.locs)==0:
             return ''
         else:
@@ -313,7 +326,7 @@
 
     def set_scientific(self, b):
         '''True or False to turn scientific notation on or off
-        see also set_powerlimits()
+        see also :meth:`set_powerlimits`
         '''
         self._scientific = bool(b)
 
@@ -321,7 +334,7 @@
         '''
         Sets size thresholds for scientific notation.
 
-        e.g. xaxis.set_powerlimits((-3, 4)) sets the pre-2007 default in
+        e.g. ``xaxis.set_powerlimits((-3, 4))`` sets the pre-2007 default in
         which scientific notation is used for numbers less than
         1e-3 or greater than 1e4.
         See also :meth:`set_scientific`.
@@ -463,20 +476,20 @@
     """
     Format values for log axis;
 
-    if attribute decadeOnly is True, only the decades will be labelled.
+    if attribute *decadeOnly* is True, only the decades will be labelled.
     """
     def __init__(self, base=10.0, labelOnlyBase = True):
         """
-        base is used to locate the decade tick,
-        which will be the only one to be labeled if labelOnlyBase
-        is False
+        *base* is used to locate the decade tick,
+        which will be the only one to be labeled if *labelOnlyBase*
+        is ``False``
         """
         self._base = base+0.0
         self.labelOnlyBase=labelOnlyBase
         self.decadeOnly = True
 
     def base(self,base):
-        'change the base for labeling - warning: should always match the base 
used for LogLocator'
+        'change the *base* for labeling - warning: should always match the 
base used for :class:`LogLocator`'
         self._base=base
 
     def label_minor(self,labelOnlyBase):
@@ -485,7 +498,7 @@
 
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         vmin, vmax = self.axis.get_view_interval()
         d = abs(vmax - vmin)
         b=self._base
@@ -548,11 +561,11 @@
 
 class LogFormatterExponent(LogFormatter):
     """
-    Format values for log axis; using exponent = log_base(value)
+    Format values for log axis; using ``exponent = log_base(value)``
     """
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
 
 
         vmin, vmax = self.axis.get_view_interval()
@@ -580,11 +593,11 @@
 
 class LogFormatterMathtext(LogFormatter):
     """
-    Format values for log axis; using exponent = log_base(value)
+    Format values for log axis; using ``exponent = log_base(value)``
     """
 
     def __call__(self, x, pos=None):
-        'Return the format for tick val x at position pos'
+        'Return the format for tick val *x* at position *pos*'
         b = self._base
         # only label the decades
         if x == 0:
@@ -619,7 +632,7 @@
     """
     Determine the tick locations;
 
-    Note, you should not use the same locator between different Axis
+    Note, you should not use the same locator between different 
:class:`~matplotlib.axis.Axis`
     because the locator stores references to the Axis data and view
     limits
     """


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to