|
From: <lee...@us...> - 2010-03-02 01:47:55
|
Revision: 8166
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8166&view=rev
Author: leejjoon
Date: 2010-03-02 01:47:48 +0000 (Tue, 02 Mar 2010)
Log Message:
-----------
update axes_grid.axislines doc.
Modified Paths:
--------------
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst
Added Paths:
-----------
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py
trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,25 @@
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_axes(ax)
+
+ ax.set_ylim(-0.1, 1.5)
+ ax.set_yticks([0, 1])
+
+ ax.axis[:].set_visible(False)
+
+ ax.axis["x"] = ax.new_floating_axis(1, 0.5)
+ ax.axis["x"].set_axisline_style("->", size=1.5)
+
+ return ax
+
+fig = plt.figure(figsize=(3,2.5))
+fig.subplots_adjust(top=0.8)
+ax1 = setup_axes(fig, "111")
+
+ax1.axis["x"].set_axis_direction("left")
+
+
+plt.show()
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,36 @@
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_axes(ax)
+
+ ax.set_ylim(-0.1, 1.5)
+ ax.set_yticks([0, 1])
+
+ #ax.axis[:].toggle(all=False)
+ #ax.axis[:].line.set_visible(False)
+ ax.axis[:].set_visible(False)
+
+ ax.axis["x"] = ax.new_floating_axis(1, 0.5)
+ ax.axis["x"].set_axisline_style("->", size=1.5)
+
+ return ax
+
+fig = plt.figure(figsize=(6,2.5))
+fig.subplots_adjust(bottom=0.2, top=0.8)
+
+ax1 = setup_axes(fig, "121")
+ax1.axis["x"].set_ticklabel_direction("+")
+ax1.annotate("ticklabel direction=$+$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+ax2 = setup_axes(fig, "122")
+ax2.axis["x"].set_ticklabel_direction("-")
+ax2.annotate("ticklabel direction=$-$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+
+plt.show()
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,40 @@
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_axes(ax)
+
+ ax.set_ylim(-0.1, 1.5)
+ ax.set_yticks([0, 1])
+
+ #ax.axis[:].toggle(all=False)
+ #ax.axis[:].line.set_visible(False)
+ ax.axis[:].set_visible(False)
+
+ ax.axis["x"] = ax.new_floating_axis(1, 0.5)
+ ax.axis["x"].set_axisline_style("->", size=1.5)
+
+ return ax
+
+fig = plt.figure(figsize=(6,2.5))
+fig.subplots_adjust(bottom=0.2, top=0.8)
+
+ax1 = setup_axes(fig, "121")
+ax1.axis["x"].label.set_text("Label")
+ax1.axis["x"].toggle(ticklabels=False)
+ax1.axis["x"].set_axislabel_direction("+")
+ax1.annotate("label direction=$+$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+ax2 = setup_axes(fig, "122")
+ax2.axis["x"].label.set_text("Label")
+ax2.axis["x"].toggle(ticklabels=False)
+ax2.axis["x"].set_axislabel_direction("-")
+ax2.annotate("label direction=$-$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+
+plt.show()
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,54 @@
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_axes(ax)
+
+ ax.set_ylim(-0.1, 1.5)
+ ax.set_yticks([0, 1])
+
+ ax.axis[:].set_visible(False)
+
+ ax.axis["x1"] = ax.new_floating_axis(1, 0.3)
+ ax.axis["x1"].set_axisline_style("->", size=1.5)
+
+ ax.axis["x2"] = ax.new_floating_axis(1, 0.7)
+ ax.axis["x2"].set_axisline_style("->", size=1.5)
+
+ return ax
+
+fig = plt.figure(figsize=(6,2.5))
+fig.subplots_adjust(bottom=0.2, top=0.8)
+
+ax1 = setup_axes(fig, "121")
+ax1.axis["x1"].label.set_text("rotation=0")
+ax1.axis["x1"].toggle(ticklabels=False)
+
+ax1.axis["x2"].label.set_text("rotation=10")
+ax1.axis["x2"].label.set_rotation(10)
+ax1.axis["x2"].toggle(ticklabels=False)
+
+ax1.annotate("label direction=$+$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+ax2 = setup_axes(fig, "122")
+
+ax2.axis["x1"].set_axislabel_direction("-")
+ax2.axis["x2"].set_axislabel_direction("-")
+
+ax2.axis["x1"].label.set_text("rotation=0")
+ax2.axis["x1"].toggle(ticklabels=False)
+
+ax2.axis["x2"].label.set_text("rotation=10")
+ax2.axis["x2"].label.set_rotation(10)
+ax2.axis["x2"].toggle(ticklabels=False)
+
+
+ax2.annotate("label direction=$-$", (0.5, 0), xycoords="axes fraction",
+ xytext=(0, -10), textcoords="offset points",
+ va="top", ha="center")
+
+
+plt.show()
Modified: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py 2010-03-01 15:58:51 UTC (rev 8165)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -33,8 +33,8 @@
ax.axis["right"].set_axis_direction("left")
ax.axis["top"].set_axis_direction("bottom")
-ax.axis["left"].major_ticklabels.set_pad(0)
-ax.axis["bottom"].major_ticklabels.set_pad(10)
+#ax.axis["left"].major_ticklabels.set_pad(0)
+#ax.axis["bottom"].major_ticklabels.set_pad(10)
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction01.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,15 @@
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+fig = plt.figure(figsize=(4,2.5))
+ax1 = fig.add_subplot(axislines.Subplot(fig, "111"))
+fig.subplots_adjust(right=0.8)
+
+ax1.axis["left"].major_ticklabels.set_axis_direction("top")
+ax1.axis["left"].label.set_text("Label")
+
+ax1.axis["right"].label.set_visible(True)
+ax1.axis["right"].label.set_text("Label")
+ax1.axis["right"].label.set_axis_direction("left")
+
+plt.show()
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction02.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,21 @@
+
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_subplot(ax)
+
+ ax.set_yticks([0.2, 0.8])
+ ax.set_xticks([0.2, 0.8])
+
+ return ax
+
+fig = plt.figure(1, figsize=(4, 2))
+ax = setup_axes(fig, "111")
+
+ax.axis[:].major_ticks.set_tick_out(True)
+
+plt.show()
+
+
Added: trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py (rev 0)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/figures/simple_axis_direction03.py 2010-03-02 01:47:48 UTC (rev 8166)
@@ -0,0 +1,31 @@
+
+import matplotlib.pyplot as plt
+import mpl_toolkits.axes_grid.axislines as axislines
+
+def setup_axes(fig, rect):
+ ax = axislines.Subplot(fig, rect)
+ fig.add_subplot(ax)
+
+ ax.set_yticks([0.2, 0.8])
+ ax.set_xticks([0.2, 0.8])
+
+ return ax
+
+fig = plt.figure(1, figsize=(5, 2))
+fig.subplots_adjust(wspace=0.4, bottom=0.3)
+
+ax1 = setup_axes(fig, "121")
+ax1.set_xlabel("X-label")
+ax1.set_ylabel("Y-label")
+
+ax1.axis[:].invert_ticklabel_direction()
+
+ax2 = setup_axes(fig, "122")
+ax2.set_xlabel("X-label")
+ax2.set_ylabel("Y-label")
+
+ax2.axis[:].major_ticks.set_tick_out(True)
+
+plt.show()
+
+
Modified: trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst 2010-03-01 15:58:51 UTC (rev 8165)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/users/axislines.rst 2010-03-02 01:47:48 UTC (rev 8166)
@@ -102,7 +102,52 @@
The ticklabels and axislabel of the top and the right axis are set to
not visible.
+For example, if you want to change the color attributes of
+major_ticklabels of the bottom x-axis ::
+ ax.axis["bottom"].major_ticklabels.set_color("b")
+
+Similarly, to make ticklabels invisible ::
+
+ ax.axis["bottom"].major_ticklabels.set_visible(False)
+
+AxisAritst provides a helper method to control the visibility of ticks, ticklabels, and label. To make ticklabel invisible, ::
+
+ ax.axis["bottom"].toggle(ticklabels=False)
+
+To make all of ticks, ticklabels, and (axis) label invisible ::
+
+ ax.axis["bottom"].toggle(all=False)
+
+To turn all off but ticks on ::
+
+ ax.axis["bottom"].toggle(all=False, ticks=True)
+
+To turn all on but (axis) label off ::
+
+ ax.axis["bottom"].toggle(all=True, label=False))
+
+
+ax.axis's __getitem__ method can take multiple axis names. For
+example, to turn ticklabels of "top" and "right" axis on, ::
+
+ ax.axis["top","right"].toggle(ticklabels=True))
+
+Note that 'ax.axis["top","right"]' returns a simple proxy object that translate above code to something like below. ::
+
+ for n in ["top","right"]:
+ ax.axis[n].toggle(ticklabels=True))
+
+So, any return values in the for loop are ignored. And you shoud not
+use it anything more than a simple method.
+
+Like the list indexing ":" means all items, i.e., ::
+
+ ax.axis[:].major_ticks.set_color("r")
+
+changes tick color in all axis.
+
+
HowTo
=====
@@ -138,25 +183,149 @@
To change the pad between ticklabels and axis label,
axis.label.set_pad method.
-Examples
-========
-Adjusting axis_direction
-------------------------
+Rotaion and Alignment of TickLabels
+===================================
+This is also quite different from the original mpl and can be
+confusing. When you want to rotate the ticklabels, first consider
+using "set_axis_direction" method. ::
+
+ ax1.axis["left"].major_ticklabels.set_axis_direction("top")
+ ax1.axis["right"].label.set_axis_direction("left")
+
+.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_direction01.py
+
+The parameter for set_axis_direction is one of ["left", "right",
+"bottom", "top"].
+
+You must understand some underlying concept of directions.
+
+ 1. There is a reference direction which is defined as the direction
+ of the axis line with increasing coordinate. For example, the
+ reference direction of the left x-axis is from bottom to top.
+
+ .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step01.py
+
+ The direction, text angle, and alignments of the ticks, ticklabels and
+ axis-label is determined width respect to the reference direction
+
+ 2. *ticklabel_direction* is either the right-hand side (+) of the
+ reference direction or the left-hand side (-).
+
+ .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step02.py
+
+ 3. same for the *label_direction*
+
+ .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step03.py
+
+ 4. ticks are by default drawn toward the opposite direction of the ticklabels.
+
+ 5. text rotation of ticklabels and label is determined in reference
+ to the *ticklabel_direction* or *label_direction*,
+ respectively. The rotation of ticklabels and tlabel is anchored.
+
+ .. plot:: mpl_toolkits/axes_grid/figures/axis_direction_demo_step04.py
+
+
+On the other hand, there is a concept of "axis_direction". This is a
+default setting of above properties for each, "bottom", "left", "top",
+and "right" axis.
+
+ ========== =========== ========= ========== ========= ==========
+ ? ? left bottom right top
+ ---------- ----------- --------- ---------- --------- ----------
+ axislabel direction '-' '+' '+' '-'
+ axislabel rotation 180 0 0 180
+ axislabel va center top center bottom
+ axislabel ha right center right center
+ ticklabel direction '-' '+' '+' '-'
+ ticklabels rotation 90 0 -90 180
+ ticklabel ha right center right center
+ ticklabel va center baseline center baseline
+ ========== =========== ========= ========== ========= ==========
+
+
+And, 'set_axis_direction("top")' means to adjust the text rotation
+etc, for settings suitable for "top" axis. The concept of axis
+direction can be more clear with curved axis.
+
.. plot:: mpl_toolkits/axes_grid/figures/demo_axis_direction.py
+The axis_drection can be adjusted in the AxisArtist level, or in the
+level of its child arists, i.e., ticks, ticklabels, and axis-label. ::
+
+ ax1.axis["left"].set_axis_direction("top")
+
+changes axis_direction of all the associated artist with the "left"
+axis, while ::
+
+ ax1.axis["left"].major_ticklabels.set_axis_direction("top")
+
+changes the axis_direction of only the major_ticklabels. Note that
+set_axis_direction in the AxisArtist level changes the
+ticklabel_direction and label_direction, while chainging the
+axis_direction of ticks, ticklabels, and axis-label does not affect
+them.
+
+
+If you want to make ticks outward and ticklabels inside the axes,
+use invert_ticklabel_direction method. ::
+
+ ax.axis[:].invert_ticklabel_direction()
+
+A related method is "set_tick_out". It makes ticks outward (as a
+matter of fact, it makes ticks toward the opposite direction of the
+default direction). ::
+
+ ax.axis[:].major_ticks.set_tick_out(True)
+
+.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_direction03.py
+
+
+So, in summary,
+
+ * AxisArtist's methods
+ * set_axis_direction : "left", "right", "bottom", or "top"
+ * set_ticklabel_direction : "+" or "-"
+ * set_axislabel_direction : "+" or "-"
+ * invert_ticklabel_direction
+ * Ticks' methods (major_ticks and minor_ticks)
+ * set_tick_out : True or False
+ * set_ticksize : size in points
+ * TickLabels' methods (major_ticklabels and minor_ticklabels)
+ * set_axis_direction : "left", "right", "bottom", or "top"
+ * set_rotation : angle with respect to the renference direction
+ * set_ha and set_va : see below
+ * AxisLabels' methods (label)
+ * set_axis_direction : "left", "right", "bottom", or "top"
+ * set_rotation : angle with respect to the renference direction
+ * set_ha and set_va
+
+
+
Adjusting ticklabels alignment
------------------------------
+Alignment of TickLabels are treated specially. See below
+
.. plot:: mpl_toolkits/axes_grid/figures/demo_ticklabel_alignment.py
-Adjusting ticklabels pad
-------------------------
+Adjusting pad
+--------------
-.. plot:: mpl_toolkits/axes_grid/figures/demo_ticklabel_direction.py
+To change the pad between ticks and ticklabels ::
+ ax.axis["left"].major_ticklabels.set_pad(10)
+Or ticklabels and axis-label ::
+
+ ax.axis["left"].label.set_pad(10)
+
+
+.. plot:: mpl_toolkits/axes_grid/figures/simple_axis_pad.py
+
+
GridHelper
==========
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|