Revision: 8321
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8321&view=rev
Author:   leejjoon
Date:     2010-05-19 00:32:26 +0000 (Wed, 19 May 2010)

Log Message:
-----------
update docs. for gridspec

Modified Paths:
--------------
    trunk/matplotlib/CHANGELOG

Added Paths:
-----------
    trunk/matplotlib/doc/users/gridspec.rst
    trunk/matplotlib/doc/users/plotting/examples/demo_gridspec01.py
    trunk/matplotlib/doc/users/plotting/examples/demo_gridspec02.py
    trunk/matplotlib/doc/users/plotting/examples/demo_gridspec03.py
    trunk/matplotlib/doc/users/plotting/examples/demo_gridspec04.py

Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG  2010-05-19 00:32:18 UTC (rev 8320)
+++ trunk/matplotlib/CHANGELOG  2010-05-19 00:32:26 UTC (rev 8321)
@@ -1,3 +1,5 @@
+2010-05-18 Merge mpl_toolkits.gridspec into the main tree. - JJL
+
 2010-05-04 Improve backend_qt4 so it displays figures with the
            correct size - DSD
 

Added: trunk/matplotlib/doc/users/gridspec.rst
===================================================================
--- trunk/matplotlib/doc/users/gridspec.rst                             (rev 0)
+++ trunk/matplotlib/doc/users/gridspec.rst     2010-05-19 00:32:26 UTC (rev 
8321)
@@ -0,0 +1,130 @@
+.. _gridspec-guide:
+
+
+************************************************
+ Customizing Location of Subplot Using GridSpec
+************************************************
+
+    ``GridSpec``
+        specifies the geometry of the grid that a subplot will be
+        placed. The number of rows and number of columns of the grid
+        need to be set. Optionally, the subplot layout parameters
+        (e.g., left, right, etc.) can be tuned.
+
+    ``SubplotSpec``
+        specifies the location of the subplot in the given *GridSpec*.
+
+    ``subplot2grid``
+        a helper function that is similar to "pyplot.subplot" but uses
+        0-based indexing and let subplot to occupy multiple cells.
+
+
+ Basic Example of using subplot2grid
+=====================================
+
+To use subplot2grid, you provide geometry of the grid and the location
+of the subplot in the grid. For a simple single-cell subplot, ::
+
+  ax = plt.subplot2grid((2,2),(0, 0))
+
+is identical to ::
+
+  ax = plt.subplot(2,2,1)
+
+Note that, unlike matplotlib's subplot, the index starts from 0 in gridspec.
+
+To create a subplot that spans multiple cells, ::
+
+  ax2 = plt.subplot2grid((3,3), (1, 0), colspan=2)
+  ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2)
+
+For example, the following commands  ::
+
+  ax1 = plt.subplot2grid((3,3), (0,0), colspan=3)
+  ax2 = plt.subplot2grid((3,3), (1,0), colspan=2)
+  ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2)
+  ax4 = plt.subplot2grid((3,3), (2, 0))
+  ax5 = plt.subplot2grid((3,3), (2, 1))
+
+creates
+
+.. plot:: users/plotting/examples/demo_gridspec01.py
+
+
+GridSpec and SubplotSpec
+========================
+
+You can create GridSpec explicitly and use them to create a Subplot.
+
+For example, ::
+
+  ax = plt.subplot2grid((2,2),(0, 0))
+
+is equal to ::
+
+  import matplotlib.gridspec as gridspec
+  gs = gridspec.GridSpec(2, 2)
+  ax = plt.subplot(gs[0, 0])
+
+A gridspec instance provides array-like (2d or 1d) indexing that
+returns the SubplotSpec instance. For, SubplotSpec that spans multiple
+cells, use slice. ::
+
+  ax2 = plt.subplot(gs[1,:-1])
+  ax3 = plt.subplot(gs[1:, -1])
+
+The above example becomes ::
+
+  gs = gridspec.GridSpec(3, 3)
+  ax1 = plt.subplot(gs[0, :])
+  ax2 = plt.subplot(gs[1,:-1])
+  ax3 = plt.subplot(gs[1:, -1])
+  ax4 = plt.subplot(gs[-1,0])
+  ax5 = plt.subplot(gs[-1,-2])
+
+.. plot:: users/plotting/examples/demo_gridspec02.py
+
+Adjust GridSpec layout
+======================
+
+When a GridSpec is explicitly used, you can adjust the layout
+parameters of subplots that are created from the gridspec. ::
+
+  gs1 = gridspec.GridSpec(3, 3)
+  gs1.update(left=0.05, right=0.48, wspace=0.05)
+
+This is similar to *subplots_adjust*, but it only affects the subplots
+that are created from the given GridSpec.
+
+The code below ::
+
+  gs1 = gridspec.GridSpec(3, 3)
+  gs1.update(left=0.05, right=0.48, wspace=0.05)
+  ax1 = plt.subplot(gs1[:-1, :])
+  ax2 = plt.subplot(gs1[-1, :-1])
+  ax3 = plt.subplot(gs1[-1, -1])
+
+  gs2 = gridspec.GridSpec(3, 3)
+  gs2.update(left=0.55, right=0.98, hspace=0.05)
+  ax4 = plt.subplot(gs2[:, :-1])
+  ax5 = plt.subplot(gs2[:-1, -1])
+  ax6 = plt.subplot(gs2[-1, -1])
+
+creates
+
+.. plot:: users/plotting/examples/demo_gridspec03.py
+
+GridSpec using SubplotSpec
+==========================
+
+You can create GridSpec from the SubplotSpec, in which case its layout
+parameters are set to that of the locataion of the given SubplotSpec. ::
+
+  gs0 = gridspec.GridSpec(1, 2)
+
+  gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0])
+  gs01 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[1])
+
+
+.. plot:: users/plotting/examples/demo_gridspec04.py
+

Added: trunk/matplotlib/doc/users/plotting/examples/demo_gridspec01.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/demo_gridspec01.py             
                (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/demo_gridspec01.py     
2010-05-19 00:32:26 UTC (rev 8321)
@@ -0,0 +1,20 @@
+import matplotlib.pyplot as plt
+
+def make_ticklabels_invisible(fig):
+    for i, ax in enumerate(fig.axes):
+        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
+        for tl in ax.get_xticklabels() + ax.get_yticklabels():
+            tl.set_visible(False)
+
+
+plt.figure(0)
+ax1 = plt.subplot2grid((3,3), (0,0), colspan=3)
+ax2 = plt.subplot2grid((3,3), (1,0), colspan=2)
+ax3 = plt.subplot2grid((3,3), (1, 2), rowspan=2)
+ax4 = plt.subplot2grid((3,3), (2, 0))
+ax5 = plt.subplot2grid((3,3), (2, 1))
+
+plt.suptitle("subplot2grid")
+make_ticklabels_invisible(plt.gcf())
+plt.show()
+

Added: trunk/matplotlib/doc/users/plotting/examples/demo_gridspec02.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/demo_gridspec02.py             
                (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/demo_gridspec02.py     
2010-05-19 00:32:26 UTC (rev 8321)
@@ -0,0 +1,26 @@
+import matplotlib.pyplot as plt
+from matplotlib.gridspec import GridSpec
+
+
+def make_ticklabels_invisible(fig):
+    for i, ax in enumerate(fig.axes):
+        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
+        for tl in ax.get_xticklabels() + ax.get_yticklabels():
+            tl.set_visible(False)
+
+
+plt.figure()
+
+gs = GridSpec(3, 3)
+ax1 = plt.subplot(gs[0, :])
+# identical to ax1 = plt.subplot(gs.new_subplotspec((0,0), colspan=3))
+ax2 = plt.subplot(gs[1,:-1])
+ax3 = plt.subplot(gs[1:, -1])
+ax4 = plt.subplot(gs[-1,0])
+ax5 = plt.subplot(gs[-1,-2])
+
+plt.suptitle("GridSpec")
+make_ticklabels_invisible(plt.gcf())
+
+plt.show()
+

Added: trunk/matplotlib/doc/users/plotting/examples/demo_gridspec03.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/demo_gridspec03.py             
                (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/demo_gridspec03.py     
2010-05-19 00:32:26 UTC (rev 8321)
@@ -0,0 +1,34 @@
+import matplotlib.pyplot as plt
+from matplotlib.gridspec import GridSpec
+
+
+def make_ticklabels_invisible(fig):
+    for i, ax in enumerate(fig.axes):
+        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
+        for tl in ax.get_xticklabels() + ax.get_yticklabels():
+            tl.set_visible(False)
+
+
+
+# demo 3 : gridspec with subplotpars set.
+
+f = plt.figure()
+
+plt.suptitle("GirdSpec w/ different subplotpars")
+
+gs1 = GridSpec(3, 3)
+gs1.update(left=0.05, right=0.48, wspace=0.05)
+ax1 = plt.subplot(gs1[:-1, :])
+ax2 = plt.subplot(gs1[-1, :-1])
+ax3 = plt.subplot(gs1[-1, -1])
+
+gs2 = GridSpec(3, 3)
+gs2.update(left=0.55, right=0.98, hspace=0.05)
+ax4 = plt.subplot(gs2[:, :-1])
+ax5 = plt.subplot(gs2[:-1, -1])
+ax6 = plt.subplot(gs2[-1, -1])
+
+make_ticklabels_invisible(plt.gcf())
+
+plt.show()
+

Added: trunk/matplotlib/doc/users/plotting/examples/demo_gridspec04.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/demo_gridspec04.py             
                (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/demo_gridspec04.py     
2010-05-19 00:32:26 UTC (rev 8321)
@@ -0,0 +1,41 @@
+import matplotlib.pyplot as plt
+import matplotlib.gridspec as gridspec
+
+def make_ticklabels_invisible(fig):
+    for i, ax in enumerate(fig.axes):
+        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
+        for tl in ax.get_xticklabels() + ax.get_yticklabels():
+            tl.set_visible(False)
+
+
+
+# gridspec inside gridspec
+
+f = plt.figure()
+
+gs0 = gridspec.GridSpec(1, 2)
+
+gs00 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[0])
+
+ax1 = plt.Subplot(f, gs00[:-1, :])
+f.add_subplot(ax1)
+ax2 = plt.Subplot(f, gs00[-1, :-1])
+f.add_subplot(ax2)
+ax3 = plt.Subplot(f, gs00[-1, -1])
+f.add_subplot(ax3)
+
+
+gs01 = gridspec.GridSpecFromSubplotSpec(3, 3, subplot_spec=gs0[1])
+
+ax4 = plt.Subplot(f, gs01[:, :-1])
+f.add_subplot(ax4)
+ax5 = plt.Subplot(f, gs01[:-1, -1])
+f.add_subplot(ax5)
+ax6 = plt.Subplot(f, gs01[-1, -1])
+f.add_subplot(ax6)
+
+plt.suptitle("GirdSpec Inside GridSpec")
+make_ticklabels_invisible(plt.gcf())
+
+plt.show()
+


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

------------------------------------------------------------------------------

_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to