SF.net SVN: matplotlib:[7178] trunk/matplotlib/examples/api/ fahrenheit_celcius_scales.py
Revision: 7178
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7178&view=rev
Author: jdh2358
Date: 2009-06-05 13:00:47 + (Fri, 05 Jun 2009)
Log Message:
---
added JJ's F/C two scale example
Added Paths:
---
trunk/matplotlib/examples/api/fahrenheit_celcius_scales.py
Added: trunk/matplotlib/examples/api/fahrenheit_celcius_scales.py
===
--- trunk/matplotlib/examples/api/fahrenheit_celcius_scales.py
(rev 0)
+++ trunk/matplotlib/examples/api/fahrenheit_celcius_scales.py 2009-06-05
13:00:47 UTC (rev 7178)
@@ -0,0 +1,28 @@
+"""
+Shoiw how to display two scales on the left and right y axis -- Fahrenheit and
Celcius
+"""
+
+import matplotlib.pyplot as plt
+
+fig = plt.figure()
+ax1 = fig.add_subplot(111) # the Fahrenheit scale
+ax2 = ax1.twinx() # the Celcius scale
+
+def Tc(Tf):
+return (5./9.)*(Tf-32)
+
+
+def update_ax2(ax1):
+ y1, y2 = ax1.get_ylim()
+ ax2.set_ylim(Tc(y1), Tc(y2))
+ ax2.figure.canvas.draw()
+
+# automatically update ylim of ax2 when ylim of ax1 changes.
+ax1.callbacks.connect("ylim_changed", update_ax2)
+ax1.plot([78, 79, 79, 77])
+
+ax1.set_title('Two scales: Fahrenheit and Celcius')
+ax1.set_ylabel('Fahrenheit')
+ax2.set_ylabel('Celcius')
+
+plt.show()
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
--
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins
SF.net SVN: matplotlib:[7179] trunk/matplotlib/examples/pylab_examples/ fill_between.py
Revision: 7179 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7179&view=rev Author: jdh2358 Date: 2009-06-05 16:49:29 + (Fri, 05 Jun 2009) Log Message: --- added example to fill_between to show how to create multiple axes spans where a condition is true Modified Paths: -- trunk/matplotlib/examples/pylab_examples/fill_between.py Modified: trunk/matplotlib/examples/pylab_examples/fill_between.py === --- trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05 13:00:47 UTC (rev 7178) +++ trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05 16:49:29 UTC (rev 7179) @@ -46,5 +46,21 @@ # points. A brute-force solution would be to interpolate all # arrays to a very fine grid before plotting. +# show how to use transforms to create axes spans where a certain condition is satisfied +fig = figure() +ax = fig.add_subplot(111) +y = np.sin(4*np.pi*x) +ax.plot(x, y, color='black') + +# use the data coordinates for the x-axis and the axes coordinates for the y-axis +import matplotlib.transforms as mtransforms +trans = mtransforms.blended_transform_factory(ax.transData, ax.transAxes) +ax.axhline(0.5, color='green', lw=2, alpha=0.5) +ax.axhline(-0.5, color='red', lw=2, alpha=0.5) +ax.fill_between(x, 0, 1, where=y2>0.5, facecolor='green', alpha=0.5, transform=trans) +ax.fill_between(x, 0, 1, where=y2<-0.5, facecolor='red', alpha=0.5, transform=trans) + + + show() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get ___ Matplotlib-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins
SF.net SVN: matplotlib:[7180] trunk/matplotlib/examples/pylab_examples/ fill_between.py
Revision: 7180 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7180&view=rev Author: jdh2358 Date: 2009-06-05 16:51:21 + (Fri, 05 Jun 2009) Log Message: --- added example to fill_between to show how to create multiple axes spans where a condition is true Modified Paths: -- trunk/matplotlib/examples/pylab_examples/fill_between.py Modified: trunk/matplotlib/examples/pylab_examples/fill_between.py === --- trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05 16:49:29 UTC (rev 7179) +++ trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05 16:51:21 UTC (rev 7180) @@ -55,10 +55,11 @@ # use the data coordinates for the x-axis and the axes coordinates for the y-axis import matplotlib.transforms as mtransforms trans = mtransforms.blended_transform_factory(ax.transData, ax.transAxes) -ax.axhline(0.5, color='green', lw=2, alpha=0.5) -ax.axhline(-0.5, color='red', lw=2, alpha=0.5) -ax.fill_between(x, 0, 1, where=y2>0.5, facecolor='green', alpha=0.5, transform=trans) -ax.fill_between(x, 0, 1, where=y2<-0.5, facecolor='red', alpha=0.5, transform=trans) +theta = 0.9 +ax.axhline(theta, color='green', lw=2, alpha=0.5) +ax.axhline(-theta, color='red', lw=2, alpha=0.5) +ax.fill_between(x, 0, 1, where=y>theta, facecolor='green', alpha=0.5, transform=trans) +ax.fill_between(x, 0, 1, where=y<-theta, facecolor='red', alpha=0.5, transform=trans) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get ___ Matplotlib-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins
SF.net SVN: matplotlib:[7181] trunk/matplotlib/examples/pylab_examples
Revision: 7181
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7181&view=rev
Author: jdh2358
Date: 2009-06-05 16:53:11 + (Fri, 05 Jun 2009)
Log Message:
---
renamed fill_between.py and fill_betweenx.py to have _demo postfix
Added Paths:
---
trunk/matplotlib/examples/pylab_examples/fill_between_demo.py
trunk/matplotlib/examples/pylab_examples/fill_betweenx_demo.py
Removed Paths:
-
trunk/matplotlib/examples/pylab_examples/fill_between.py
trunk/matplotlib/examples/pylab_examples/fill_betweenx.py
Deleted: trunk/matplotlib/examples/pylab_examples/fill_between.py
===
--- trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05
16:51:21 UTC (rev 7180)
+++ trunk/matplotlib/examples/pylab_examples/fill_between.py2009-06-05
16:53:11 UTC (rev 7181)
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-import matplotlib.mlab as mlab
-from matplotlib.pyplot import figure, show
-import numpy as np
-
-x = np.arange(0.0, 2, 0.01)
-y1 = np.sin(2*np.pi*x)
-y2 = 1.2*np.sin(4*np.pi*x)
-
-fig = figure()
-ax1 = fig.add_subplot(311)
-ax2 = fig.add_subplot(312, sharex=ax1)
-ax3 = fig.add_subplot(313, sharex=ax1)
-
-ax1.fill_between(x, 0, y1)
-ax1.set_ylabel('between y1 and 0')
-
-ax2.fill_between(x, y1, 1)
-ax2.set_ylabel('between y1 and 1')
-
-ax3.fill_between(x, y1, y2)
-ax3.set_ylabel('between y1 and y2')
-ax3.set_xlabel('x')
-
-# now fill between y1 and y2 where a logical condition is met. Note
-# this is different than calling
-# fill_between(x[where], y1[where],y2[where]
-# because of edge effects over multiple contiguous regions.
-fig = figure()
-ax = fig.add_subplot(211)
-ax.plot(x, y1, x, y2, color='black')
-ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
-ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
-ax.set_title('fill between where')
-
-# Test support for masked arrays.
-y2 = np.ma.masked_greater(y2, 1.0)
-ax1 = fig.add_subplot(212, sharex=ax)
-ax1.plot(x, y1, x, y2, color='black')
-ax1.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
-ax1.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
-ax1.set_title('Now regions with y2>1 are masked')
-
-# This example illustrates a problem; because of the data
-# gridding, there are undesired unfilled triangles at the crossover
-# points. A brute-force solution would be to interpolate all
-# arrays to a very fine grid before plotting.
-
-# show how to use transforms to create axes spans where a certain condition is
satisfied
-fig = figure()
-ax = fig.add_subplot(111)
-y = np.sin(4*np.pi*x)
-ax.plot(x, y, color='black')
-
-# use the data coordinates for the x-axis and the axes coordinates for the
y-axis
-import matplotlib.transforms as mtransforms
-trans = mtransforms.blended_transform_factory(ax.transData, ax.transAxes)
-theta = 0.9
-ax.axhline(theta, color='green', lw=2, alpha=0.5)
-ax.axhline(-theta, color='red', lw=2, alpha=0.5)
-ax.fill_between(x, 0, 1, where=y>theta, facecolor='green', alpha=0.5,
transform=trans)
-ax.fill_between(x, 0, 1, where=y<-theta, facecolor='red', alpha=0.5,
transform=trans)
-
-
-
-show()
-
Copied: trunk/matplotlib/examples/pylab_examples/fill_between_demo.py (from rev
7180, trunk/matplotlib/examples/pylab_examples/fill_between.py)
===
--- trunk/matplotlib/examples/pylab_examples/fill_between_demo.py
(rev 0)
+++ trunk/matplotlib/examples/pylab_examples/fill_between_demo.py
2009-06-05 16:53:11 UTC (rev 7181)
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+import matplotlib.mlab as mlab
+from matplotlib.pyplot import figure, show
+import numpy as np
+
+x = np.arange(0.0, 2, 0.01)
+y1 = np.sin(2*np.pi*x)
+y2 = 1.2*np.sin(4*np.pi*x)
+
+fig = figure()
+ax1 = fig.add_subplot(311)
+ax2 = fig.add_subplot(312, sharex=ax1)
+ax3 = fig.add_subplot(313, sharex=ax1)
+
+ax1.fill_between(x, 0, y1)
+ax1.set_ylabel('between y1 and 0')
+
+ax2.fill_between(x, y1, 1)
+ax2.set_ylabel('between y1 and 1')
+
+ax3.fill_between(x, y1, y2)
+ax3.set_ylabel('between y1 and y2')
+ax3.set_xlabel('x')
+
+# now fill between y1 and y2 where a logical condition is met. Note
+# this is different than calling
+# fill_between(x[where], y1[where],y2[where]
+# because of edge effects over multiple contiguous regions.
+fig = figure()
+ax = fig.add_subplot(211)
+ax.plot(x, y1, x, y2, color='black')
+ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
+ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
+ax.set_title('fill between where')
+
+# Test support for masked arrays.
+y2 = np.ma.masked_greater(y2, 1.0)
+ax1 = fig.add_subplot(212, sharex=ax)
+ax1.plot(x, y1, x, y2, color='black')
+ax1.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
+ax1.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
+ax1.set_title('Now regions with y2>1 are masked')
+
+# This example illustrates a problem;
SF.net SVN: matplotlib:[7182] trunk/matplotlib/examples/tests/ backend_driver.py
Revision: 7182 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7182&view=rev Author: jdh2358 Date: 2009-06-05 16:53:47 + (Fri, 05 Jun 2009) Log Message: --- updated backend driver to find the new fill_between examples Modified Paths: -- trunk/matplotlib/examples/tests/backend_driver.py Modified: trunk/matplotlib/examples/tests/backend_driver.py === --- trunk/matplotlib/examples/tests/backend_driver.py 2009-06-05 16:53:11 UTC (rev 7181) +++ trunk/matplotlib/examples/tests/backend_driver.py 2009-06-05 16:53:47 UTC (rev 7182) @@ -86,7 +86,7 @@ 'figimage_demo.py', 'figlegend_demo.py', 'figure_title.py', -'fill_between.py', +'fill_between_demo.py', 'fill_demo.py', 'fill_demo2.py', 'fill_spiral.py', This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get ___ Matplotlib-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins
SF.net SVN: matplotlib:[7183] trunk/matplotlib/lib/mpl_toolkits/axes_grid/ clip_path.py
Revision: 7183 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=7183&view=rev Author: leejjoon Date: 2009-06-05 23:45:53 + (Fri, 05 Jun 2009) Log Message: --- axes_grid/clip_path.py : fix math domain error Modified Paths: -- trunk/matplotlib/lib/mpl_toolkits/axes_grid/clip_path.py Modified: trunk/matplotlib/lib/mpl_toolkits/axes_grid/clip_path.py === --- trunk/matplotlib/lib/mpl_toolkits/axes_grid/clip_path.py2009-06-05 16:53:47 UTC (rev 7182) +++ trunk/matplotlib/lib/mpl_toolkits/axes_grid/clip_path.py2009-06-05 23:45:53 UTC (rev 7183) @@ -1,6 +1,12 @@ import numpy as np -from math import degrees, atan2 +from math import degrees +import math +def atan2(dy, dx): +if dx == 0 and dx == 0: +return 0 +else: +return math.atan2(dy, dx) # FIXME : The current algorithm seems to return incorrect angle when the line # ends at the boudnary. @@ -38,6 +44,10 @@ ns = -1 segx, segy = [], [] +if dx == 0. and dy == 0: +dx = x[+1] - x[i] +dy = y[i+1] - y[i] + a = degrees(atan2(dy, dx)) _pos_angles.append((x0, y0, a)) @@ -48,6 +58,10 @@ segx, segy = [x0], [y0] ns = i+1 +if dx == 0. and dy == 0: +dx = x[+1] - x[i] +dy = y[i+1] - y[i] + a = degrees(atan2(dy, dx)) _pos_angles.append((x0, y0, a)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. -- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get ___ Matplotlib-checkins mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins
