Revision: 4106
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4106&view=rev
Author:   efiring
Date:     2007-11-04 18:36:20 -0800 (Sun, 04 Nov 2007)

Log Message:
-----------
Added easy access to minor tick properties (Pierre G-M)

Modified Paths:
--------------
    trunk/matplotlib/lib/matplotlib/axes.py
    trunk/matplotlib/lib/matplotlib/axis.py

Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py     2007-11-05 01:36:15 UTC (rev 
4105)
+++ trunk/matplotlib/lib/matplotlib/axes.py     2007-11-05 02:36:20 UTC (rev 
4106)
@@ -1173,8 +1173,8 @@
         # Otherwise, it will compute the bounds of it's current data
         # and the data in xydata
         xys = npy.asarray(xys)
-        
 
+
         self.dataLim.update_numerix_xy(xys, -1)
 
 
@@ -1631,25 +1631,33 @@
             self.xaxis.set_minor_formatter(mticker.NullFormatter())
             self.transData.get_funcx().set_type( mtrans.IDENTITY )
 
-    def get_xticks(self):
+    def get_xticks(self, minor=False):
         'Return the x ticks as a list of locations'
-        return self.xaxis.get_ticklocs()
+        return self.xaxis.get_ticklocs(minor=minor)
 
-    def set_xticks(self, ticks):
+    def set_xticks(self, ticks, minor=False):
         """
         Set the x ticks with list of ticks
 
         ACCEPTS: sequence of floats
         """
-        return self.xaxis.set_ticks(ticks)
+        return self.xaxis.set_ticks(ticks, minor=minor)
 
-    def get_xticklabels(self):
+    def get_xmajorticklabels(self):
         'Get the xtick labels as a list of Text instances'
-        return cbook.silent_list('Text xticklabel', 
self.xaxis.get_ticklabels())
+        return cbook.silent_list('Text xticklabel', 
self.xaxis.get_majorticklabels())
 
-    def set_xticklabels(self, labels, fontdict=None, **kwargs):
+    def get_xminorticklabels(self):
+        'Get the xtick labels as a list of Text instances'
+        return cbook.silent_list('Text xticklabel', 
self.xaxis.get_minorticklabels())
+
+    def get_xticklabels(self, minor=False):
+        'Get the xtick labels as a list of Text instances'
+        return cbook.silent_list('Text xticklabel', 
self.xaxis.get_ticklabels(minor=minor))
+
+    def set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs):
         """
-        SET_XTICKLABELS(labels, fontdict=None, **kwargs)
+        set_xticklabels(labels, fontdict=None, minor=False, **kwargs)
 
         Set the xtick labels with list of strings labels Return a list of axis
         text instances.
@@ -1659,7 +1667,7 @@
 
         ACCEPTS: sequence of strings
         """
-        return self.xaxis.set_ticklabels(labels, fontdict, **kwargs)
+        return self.xaxis.set_ticklabels(labels, fontdict, minor=minor, 
**kwargs)
     set_xticklabels.__doc__ = cbook.dedent(set_xticklabels.__doc__) % 
martist.kwdocd
 
     def invert_yaxis(self):
@@ -1795,25 +1803,33 @@
             self.yaxis.set_minor_formatter(mticker.NullFormatter())
             self.transData.get_funcy().set_type( mtrans.IDENTITY )
 
-    def get_yticks(self):
+    def get_yticks(self, minor=False):
         'Return the y ticks as a list of locations'
-        return self.yaxis.get_ticklocs()
+        return self.yaxis.get_ticklocs(minor=minor)
 
-    def set_yticks(self, ticks):
+    def set_yticks(self, ticks, minor=False):
         """
         Set the y ticks with list of ticks
 
         ACCEPTS: sequence of floats
         """
-        return self.yaxis.set_ticks(ticks)
+        return self.yaxis.set_ticks(ticks, minor=minor)
 
-    def get_yticklabels(self):
-        'Get the ytick labels as a list of Text instances'
-        return cbook.silent_list('Text yticklabel', 
self.yaxis.get_ticklabels())
+    def get_ymajorticklabels(self):
+        'Get the xtick labels as a list of Text instances'
+        return cbook.silent_list('Text yticklabel', 
self.yaxis.get_majorticklabels())
 
-    def set_yticklabels(self, labels, fontdict=None, **kwargs):
+    def get_yminorticklabels(self):
+        'Get the xtick labels as a list of Text instances'
+        return cbook.silent_list('Text yticklabel', 
self.yaxis.get_minorticklabels())
+
+    def get_yticklabels(self, minor=False):
+        'Get the xtick labels as a list of Text instances'
+        return cbook.silent_list('Text yticklabel', 
self.yaxis.get_ticklabels(minor=minor))
+
+    def set_yticklabels(self, labels, fontdict=None, minor=False, **kwargs):
         """
-        SET_YTICKLABELS(labels, fontdict=None, **kwargs)
+        set_yticklabels(labels, fontdict=None, minor=False, **kwargs)
 
         Set the ytick labels with list of strings labels.  Return a list of
         Text instances.
@@ -1823,7 +1839,7 @@
 
         ACCEPTS: sequence of strings
         """
-        return self.yaxis.set_ticklabels(labels, fontdict, **kwargs)
+        return self.yaxis.set_ticklabels(labels, fontdict, minor=minor, 
**kwargs)
     set_yticklabels.__doc__ = cbook.dedent(set_yticklabels.__doc__) % 
martist.kwdocd
 
     def toggle_log_lineary(self):
@@ -3702,7 +3718,7 @@
 
         if xerr is not None:
             if iterable(xerr) and len(xerr)==2:
-                # using list comps rather than arrays to preserve units        
        
+                # using list comps rather than arrays to preserve units
                 left  = [thisx-thiserr for (thisx, thiserr) in 
cbook.safezip(x,xerr[0])]
                 right  = [thisx+thiserr for (thisx, thiserr) in 
cbook.safezip(x,xerr[1])]
             else:

Modified: trunk/matplotlib/lib/matplotlib/axis.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axis.py     2007-11-05 01:36:15 UTC (rev 
4105)
+++ trunk/matplotlib/lib/matplotlib/axis.py     2007-11-05 02:36:20 UTC (rev 
4106)
@@ -520,8 +520,8 @@
     def get_children(self):
         children = [self.label]
         majorticks = self.get_major_ticks()
-        minorticks = self.get_minor_ticks()        
-        
+        minorticks = self.get_minor_ticks()
+
         children.extend(majorticks)
         children.extend(minorticks)
         return children
@@ -661,24 +661,62 @@
         'Return the depth of the axis used by the picker'
         return self.pickradius
 
-    def get_ticklabels(self):
-        'Return a list of Text instances for ticklabels'
+    def get_majorticklabels(self):
+        'Return a list of Text instances for the major ticklabels'
         ticks = self.get_major_ticks()
         labels1 = [tick.label1 for tick in ticks if tick.label1On]
         labels2 = [tick.label2 for tick in ticks if tick.label2On]
-        return silent_list('Text ticklabel', labels1+labels2)
+        return silent_list('Text major ticklabel', labels1+labels2)
 
-    def get_ticklines(self):
-        'Return the ticklines lines as a list of Line2D instance'
+    def get_minorticklabels(self):
+        'Return a list of Text instances for the minor ticklabels'
+        ticks = self.get_minor_ticks()
+        labels1 = [tick.label1 for tick in ticks if tick.label1On]
+        labels2 = [tick.label2 for tick in ticks if tick.label2On]
+        return silent_list('Text minor ticklabel', labels1+labels2)
+
+    def get_ticklabels(self, minor=False):
+        'Return a list of Text instances for ticklabels'
+        if minor:
+            return self.get_minorticklabels()
+        return self.get_majorticklabels()
+
+    def get_majorticklines(self):
+        'Return the major tick lines as a list of Line2D instances'
         lines = []
-        ticks = self.get_major_ticks()        
+        ticks = self.get_major_ticks()
         for tick in ticks:
             lines.append(tick.tick1line)
             lines.append(tick.tick2line)
         return silent_list('Line2D ticklines', lines)
 
-    def get_ticklocs(self):
+    def get_minorticklines(self):
+        'Return the minor tick lines as a list of Line2D instances'
+        lines = []
+        ticks = self.get_minor_ticks()
+        for tick in ticks:
+            lines.append(tick.tick1line)
+            lines.append(tick.tick2line)
+        return silent_list('Line2D ticklines', lines)
+
+    def get_ticklines(self, minor=False):
+        'Return the tick lines as a list of Line2D instances'
+        if minor:
+            return self.get_minorticklines()
+        return self.get_majorticklines()
+
+    def get_majorticklocs(self):
+        "Get the major tick locations in data coordinates as a numpy array"
+        return self.major.locator()
+
+    def get_minorticklocs(self):
+        "Get the minor tick locations in data coordinates as a numpy array"
+        return self.minor.locator()
+
+    def get_ticklocs(self, minor=False):
         "Get the tick locations in data coordinates as a numpy array"
+        if minor:
+            return self.minor.locator()
         return self.major.locator()
 
     def _get_tick(self, major):
@@ -718,15 +756,12 @@
 
     def get_major_ticks(self):
         'get the tick instances; grow as necessary'
-
         numticks = len(self.major.locator())
-
         if len(self.majorTicks)<numticks:
             # update the new tick label properties from the old
             protoTick = self.majorTicks[0]
             for i in range(numticks-len(self.majorTicks)):
                 tick = self._get_tick(major=True)
-                #tick = protoTick
                 if self._gridOnMajor: tick.gridOn = True
                 self._copy_tick_props(protoTick, tick)
                 self.majorTicks.append(tick)
@@ -915,24 +950,28 @@
     def set_ticklabels(self, ticklabels, *args, **kwargs):
         """
         Set the text values of the tick labels. Return a list of Text
-        instances.
+        instances.  Use kwarg minor=True to select minor ticks.
 
         ACCEPTS: sequence of strings
         """
         #ticklabels = [str(l) for l in ticklabels]
+        minor = kwargs.pop('minor', False)
+        if minor:
+            self.set_minor_formatter(FixedFormatter(ticklabels))
+            ticks = self.get_minor_ticks()
+        else:
+            self.set_major_formatter( FixedFormatter(ticklabels) )
+            ticks = self.get_major_ticks()
 
-        self.set_major_formatter( FixedFormatter(ticklabels) )
-
-
         ret = []
-        for i, tick in enumerate(self.get_major_ticks()):
+        for i, tick in enumerate(ticks):
             if i<len(ticklabels):
                 tick.label1.set_text(ticklabels[i])
                 ret.append(tick.label1)
             tick.label1.update(kwargs)
         return ret
 
-    def set_ticks(self, ticks):
+    def set_ticks(self, ticks, minor=False):
         """
         Set the locations of the tick marks from sequence ticks
 
@@ -940,9 +979,13 @@
         """
         ### XXX if the user changes units, the information will be lost here
         ticks = self.convert_units(ticks)
-        self.set_major_locator( FixedLocator(ticks) )
         self.get_view_interval().update(ticks,0)
-        return self.get_major_ticks()
+        if minor:
+            self.set_minor_locator(FixedLocator(ticks))
+            return self.get_minor_ticks()
+        else:
+            self.set_major_locator( FixedLocator(ticks) )
+            return self.get_major_ticks()
 
     def _update_label_position(self, bboxes, bboxes2):
         """


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: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to