From: <lee...@us...> - 2009-10-25 23:29:38
|
Revision: 7908 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7908&view=rev Author: leejjoon Date: 2009-10-25 23:29:31 +0000 (Sun, 25 Oct 2009) Log Message: ----------- add example multiple_yaxis_with_spines.py Added Paths: ----------- trunk/matplotlib/examples/pylab_examples/multiple_yaxis_with_spines.py Added: trunk/matplotlib/examples/pylab_examples/multiple_yaxis_with_spines.py =================================================================== --- trunk/matplotlib/examples/pylab_examples/multiple_yaxis_with_spines.py (rev 0) +++ trunk/matplotlib/examples/pylab_examples/multiple_yaxis_with_spines.py 2009-10-25 23:29:31 UTC (rev 7908) @@ -0,0 +1,61 @@ +import matplotlib.pyplot as plt + +def make_patch_spines_invisible(ax): + par2.set_frame_on(True) + par2.patch.set_visible(False) + for sp in par2.spines.itervalues(): + sp.set_visible(False) + +def make_spine_invisible(ax, direction): + if direction in ["right", "left"]: + ax.yaxis.set_ticks_position(direction) + ax.yaxis.set_label_position(direction) + elif direction in ["top", "bottom"]: + ax.xaxis.set_ticks_position(direction) + ax.xaxis.set_label_position(direction) + else: + raise ValueError("Unknown Direction : %s" % (direction,)) + + ax.spines[direction].set_visible(True) + + +if 1: + fig = plt.figure(1) + + host = fig.add_subplot(111) + + host.set_xlabel("Distance") + + par1 = host.twinx() + par2 = host.twinx() + + par2.spines["right"].set_position(("axes", 1.2)) + make_patch_spines_invisible(par2) + make_spine_invisible(par2, "right") + + plt.subplots_adjust(right=0.75) + + + p1, = host.plot([0, 1, 2], [0, 1, 2], "b-", label="Density") + p2, = par1.plot([0, 1, 2], [0, 3, 2], "r-", label="Temperature") + p3, = par2.plot([0, 1, 2], [50, 30, 15], "g-", label="Velocity") + + host.set_xlim(0, 2) + host.set_ylim(0, 2) + par1.set_ylim(0, 4) + par2.set_ylim(1, 65) + + host.set_xlabel("Distance") + host.set_ylabel("Density") + par1.set_ylabel("Temperature") + par2.set_ylabel("Velocity") + + host.yaxis.label.set_color(p1.get_color()) + par1.yaxis.label.set_color(p2.get_color()) + par2.yaxis.label.set_color(p3.get_color()) + + lines = [p1, p2, p3] + host.legend(lines, [l.get_label() for l in lines]) + plt.draw() + plt.show() + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |