SourceForge logo
SourceForge logo
Menu

matplotlib-checkins — Commit notification. DO NOT POST to this list, just subscribe to it.

You can subscribe to this list here.

2007 Jan
Feb
Mar
Apr
May
Jun
Jul
(115)
Aug
(120)
Sep
(137)
Oct
(170)
Nov
(461)
Dec
(263)
2008 Jan
(120)
Feb
(74)
Mar
(35)
Apr
(74)
May
(245)
Jun
(356)
Jul
(240)
Aug
(115)
Sep
(78)
Oct
(225)
Nov
(98)
Dec
(271)
2009 Jan
(132)
Feb
(84)
Mar
(74)
Apr
(56)
May
(90)
Jun
(79)
Jul
(83)
Aug
(296)
Sep
(214)
Oct
(76)
Nov
(82)
Dec
(66)
2010 Jan
(46)
Feb
(58)
Mar
(51)
Apr
(77)
May
(58)
Jun
(126)
Jul
(128)
Aug
(64)
Sep
(50)
Oct
(44)
Nov
(48)
Dec
(54)
2011 Jan
(68)
Feb
(52)
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
(1)
2018 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S

1
(1)
2
3
(3)
4
(1)
5
6
(5)
7
8
(6)
9
(1)
10
(2)
11
(2)
12
(2)
13
14
15
(5)
16
(3)
17
(4)
18
(1)
19
20
21
22
(8)
23
(1)
24
(3)
25
(3)
26
(5)
27
(1)
28
(1)






Showing results of 58

1 2 3 > >> (Page 1 of 3)
From: <lee...@us...> - 2010年02月28日 03:13:45
Revision: 8163
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8163&view=rev
Author: leejjoon
Date: 2010年02月28日 03:13:39 +0000 (2010年2月28日)
Log Message:
-----------
update annotation guide
Modified Paths:
--------------
 trunk/matplotlib/doc/users/annotations_guide.rst
 trunk/matplotlib/examples/pylab_examples/annotation_demo3.py
 trunk/matplotlib/lib/matplotlib/text.py
Added Paths:
-----------
 trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord01.py
 trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord02.py
 trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord03.py
Modified: trunk/matplotlib/doc/users/annotations_guide.rst
===================================================================
--- trunk/matplotlib/doc/users/annotations_guide.rst	2010年02月27日 17:00:53 UTC (rev 8162)
+++ trunk/matplotlib/doc/users/annotations_guide.rst	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -4,10 +4,13 @@
 Annotating Axes
 ****************
 
-Do not proceed unless you already have read
-:func:`~matplotlib.pyplot.text` and :func:`~matplotlib.pyplot.annotate`!
+Do not proceed unless you already have read :ref:`annotations-tutorial`,
+:func:`~matplotlib.pyplot.text` and
+:func:`~matplotlib.pyplot.annotate`!
 
 
+
+
 Annotating with Text with Box
 =============================
 
@@ -182,31 +185,6 @@
 .. plot:: users/plotting/examples/annotate_simple04.py
 
 
-Using ConnectorPatch
-====================
-
-The ConnectorPatch is like an annotation without a text. While the
-annotate function is recommended in most of situation, the
-ConnectorPatch is useful when you want to connect points in different
-axes. ::
-
- from matplotlib.patches import ConnectionPatch
- xy = (0.2, 0.2)
- con = ConnectionPatch(xyA=xy, xyB=xy, coordsA="data", coordsB="data",
- axesA=ax1, axesB=ax2)
- ax2.add_artist(con)
-
-The above code connects point xy in data coordinate of ``ax1`` to
-point xy int data coordinate of ``ax2``. Here is a simple example.
-
-.. plot:: users/plotting/examples/connect_simple01.py
-
-
-While the ConnectorPatch instance can be added to any axes, but you
-may want it to be added to the axes in the latter (?) of the axes
-drawing order to prevent overlap (?) by other axes.
-
-
 Placing Artist at the anchored location of the Axes
 ===================================================
 
@@ -282,6 +260,111 @@
 Note that unlike the legend, the ``bbox_transform`` is set
 to IdentityTransform by default.
 
+Using Complex Coordinate with Annotation
+========================================
+
+The Annotation in matplotlib support several types of coordinate as
+described in :ref:`annotations-tutorial`. For an advanced user who wants
+more control, it supports a few other options.
+
+ 1. :class:`~matplotlib.transforms.Transform` instance. For example, ::
+
+ ax.annotate("Test", xy=(0.5, 0.5), xycoords=ax.transAxes)
+
+ is identical to ::
+
+ ax.annotate("Test", xy=(0.5, 0.5), xycoords="axes fraction")
+
+ With this, you can annotate a point in other axes. ::
+
+ ax1, ax2 = subplot(121), subplot(122)
+ ax2.annotate("Test", xy=(0.5, 0.5), xycoords=ax1.transData,
+ xytext=(0.5, 0.5), textcoords=ax2.transData,
+ arrowprops=dict(arrowstyle="->"))
+
+ 2. :class:`~matplotlib.artist.Artist` instance. The xy value (or
+ xytext) is interpreted as a fractional coordinate of the bbox
+ (return value of *get_window_extent*) of the artist. ::
+
+ an1 = ax.annotate("Test 1", xy=(0.5, 0.5), xycoords="data",
+ va="center", ha="center",
+ bbox=dict(boxstyle="round", fc="w"))
+ an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1, # (1,0.5) of the an1's bbox
+ xytext=(30,0), textcoords="offset points",
+ va="center", ha="left",
+ bbox=dict(boxstyle="round", fc="w"),
+ arrowprops=dict(arrowstyle="->"))
+
+ .. plot:: users/plotting/examples/annotate_simple_coord01.py
+
+ Note that it is your responsibility that the extent of the
+ coordinate artist (*an1* in above example) is determined before *an2*
+ gets drawn. In most cases, it means that an2 needs to be drawn
+ later than *an1*.
+
+
+ 3. A callable object that returns an instance of either
+ :class:`~matplotlib.transforms.BboxBase` or
+ :class:`~matplotlib.transforms.Transform`. If a transform is
+ returned, it is same as 1 and if bbox is returned, it is same
+ as 2. The callable object should take a single argument of
+ renderer instance. For example, following two commands give
+ identical results ::
+ an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1,
+ xytext=(30,0), textcoords="offset points")
+ an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1.get_window_extent,
+ xytext=(30,0), textcoords="offset points")
+
+
+ 4. A tuple of two coordinate specification. The first item is for
+ x-coordinate and the second is for y-coordinate. For example, ::
+
+ annotate("Test", xy=(0.5, 1), xycoords=("data", "axes fraction"))
+
+ 0.5 is in data coordinate, and 1 is in normalized axes coordinate.
+ You may use an atist or transform as with a tuple. For example, 
+
+ .. plot:: users/plotting/examples/annotate_simple_coord02.py
+ :include-source:
+
+
+ 5. Sometimes, you want your annotation with some "offset points", but
+ not from the annotated point but from other
+ point. :class:`~matplotlib.text.OffsetFrom` is a helper class for such
+ case.
+
+ .. plot:: users/plotting/examples/annotate_simple_coord03.py
+ :include-source:
+
+ You may take a look at this example :ref:`pylab_examples-annotation_demo3`.
+
+Using ConnectorPatch
+====================
+
+The ConnectorPatch is like an annotation without a text. While the
+annotate function is recommended in most of situation, the
+ConnectorPatch is useful when you want to connect points in different
+axes. ::
+
+ from matplotlib.patches import ConnectionPatch
+ xy = (0.2, 0.2)
+ con = ConnectionPatch(xyA=xy, xyB=xy, coordsA="data", coordsB="data",
+ axesA=ax1, axesB=ax2)
+ ax2.add_artist(con)
+
+The above code connects point xy in data coordinate of ``ax1`` to
+point xy int data coordinate of ``ax2``. Here is a simple example.
+
+.. plot:: users/plotting/examples/connect_simple01.py
+
+
+While the ConnectorPatch instance can be added to any axes, but you
+may want it to be added to the axes in the latter (?) of the axes
+drawing order to prevent overlap (?) by other axes.
+
+
+
+
 Advanced Topics
 ***************
 
Added: trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord01.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord01.py	 (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord01.py	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -0,0 +1,15 @@
+
+import matplotlib.pyplot as plt
+
+plt.figure(figsize=(3,2))
+ax=plt.subplot(111)
+an1 = ax.annotate("Test 1", xy=(0.5, 0.5), xycoords="data",
+ va="center", ha="center",
+ bbox=dict(boxstyle="round", fc="w"))
+an2 = ax.annotate("Test 2", xy=(1, 0.5), xycoords=an1,
+ xytext=(30,0), textcoords="offset points",
+ va="center", ha="left",
+ bbox=dict(boxstyle="round", fc="w"),
+ arrowprops=dict(arrowstyle="->"))
+plt.show()
+
Added: trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord02.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord02.py	 (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord02.py	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -0,0 +1,16 @@
+
+import matplotlib.pyplot as plt
+
+plt.figure(figsize=(3,2))
+ax=plt.axes([0.1, 0.1, 0.8, 0.7])
+an1 = ax.annotate("Test 1", xy=(0.5, 0.5), xycoords="data",
+ va="center", ha="center",
+ bbox=dict(boxstyle="round", fc="w"))
+
+an2 = ax.annotate("Test 2", xy=(0.5, 1.), xycoords=an1,
+ xytext=(0.5,1.1), textcoords=(an1, "axes fraction"),
+ va="bottom", ha="center",
+ bbox=dict(boxstyle="round", fc="w"),
+ arrowprops=dict(arrowstyle="->"))
+plt.show()
+
Added: trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord03.py
===================================================================
--- trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord03.py	 (rev 0)
+++ trunk/matplotlib/doc/users/plotting/examples/annotate_simple_coord03.py	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -0,0 +1,19 @@
+
+import matplotlib.pyplot as plt
+
+plt.figure(figsize=(3,2))
+ax=plt.axes([0.1, 0.1, 0.8, 0.7])
+an1 = ax.annotate("Test 1", xy=(0.5, 0.5), xycoords="data",
+ va="center", ha="center",
+ bbox=dict(boxstyle="round", fc="w"))
+
+from matplotlib.text import OffsetFrom
+offset_from = OffsetFrom(an1, (0.5, 0))
+an2 = ax.annotate("Test 2", xy=(0.1, 0.1), xycoords="data",
+ xytext=(0, -10), textcoords=offset_from,
+ # xytext is offset points from "xy=(0.5, 0), xycoords=an1"
+ va="top", ha="center",
+ bbox=dict(boxstyle="round", fc="w"),
+ arrowprops=dict(arrowstyle="->"))
+plt.show()
+
Modified: trunk/matplotlib/examples/pylab_examples/annotation_demo3.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/annotation_demo3.py	2010年02月27日 17:00:53 UTC (rev 8162)
+++ trunk/matplotlib/examples/pylab_examples/annotation_demo3.py	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -76,17 +76,16 @@
 
 from matplotlib.text import OffsetFrom
 
-ax2.annotate('xy=(0.5, 0)\nxycoords="bbox fraction"\nxybbox=artist',
- xy=(0.5, 0.), xycoords=t.get_window_extent,
+ax2.annotate('xy=(0.5, 0)\nxycoords=artist',
+ xy=(0.5, 0.), xycoords=t,
 xytext=(0, -20), textcoords='offset points',
 ha="center", va="top",
 bbox=bbox_args,
 arrowprops=arrow_args
 )
 
-ax2.annotate('xy=(0.8, 0.5)\nxycoords="bbox"\nxybbox=ax1.transData',
+ax2.annotate('xy=(0.8, 0.5)\nxycoords=ax1.transData',
 xy=(0.8, 0.5), xycoords=ax1.transData,
- #xytext=(0, 0), textcoords='data',
 xytext=(10, 10), textcoords=OffsetFrom(ax2.bbox, (0, 0), "points"),
 ha="left", va="bottom",
 bbox=bbox_args,
Modified: trunk/matplotlib/lib/matplotlib/text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/text.py	2010年02月27日 17:00:53 UTC (rev 8162)
+++ trunk/matplotlib/lib/matplotlib/text.py	2010年02月28日 03:13:39 UTC (rev 8163)
@@ -1423,7 +1423,9 @@
 x, y = l+w*xf, b+h*yf
 elif isinstance(self._artist, Transform):
 x, y = self._artist.transform_point(self._ref_coord)
-
+ else:
+ raise RuntimeError("unknown type")
+ 
 sc = self._get_scale(renderer)
 tr = Affine2D().scale(sc, sc).translate(x, y)
 
@@ -1780,7 +1782,12 @@
 # 5 points below the top border
 xy=(10,-5), xycoords='axes points'
 
+ You may use an instance of
+ :class:`~matplotlib.transforms.Transform` or
+ :class:`~matplotlib.artist.Artist`. See
+ :ref:`plotting-guide-annotation` for more details.
 
+
 The *annotation_clip* attribute contols the visibility of the
 annotation when it goes outside the axes area. If True, the
 annotation will only be drawn when the *xy* is inside the
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8162
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8162&view=rev
Author: mdehoon
Date: 2010年02月27日 17:00:53 +0000 (2010年2月27日)
Log Message:
-----------
With cairo /pycairo both at version 1.8.8, I'm still seeing crashes with paths
longer than 20000 points or so (tried the gtkcairo backend on Mac OS X). So the
path length check is still needed.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2010年02月26日 16:27:55 UTC (rev 8161)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2010年02月27日 17:00:53 UTC (rev 8162)
@@ -138,6 +138,9 @@
 
 
 def draw_path(self, gc, path, transform, rgbFace=None):
+ if len(path.vertices) > 18980: 	 
+ raise ValueError("The Cairo backend can not draw paths longer than 18980 points.") 	 
+
 ctx = gc.ctx
 
 transform = transform + \
@@ -145,7 +148,7 @@
 
 ctx.new_path()
 self.convert_path(ctx, path, transform)
-
+	 	
 self._fill_and_stroke(ctx, rgbFace, gc.get_alpha())
 
 def draw_image(self, gc, x, y, im):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2010年02月26日 16:28:02
Revision: 8161
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8161&view=rev
Author: mdboom
Date: 2010年02月26日 16:27:55 +0000 (2010年2月26日)
Log Message:
-----------
Fix offset_copy: the fig argument should be optional.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/transforms.py
Modified: trunk/matplotlib/lib/matplotlib/transforms.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/transforms.py	2010年02月26日 16:27:22 UTC (rev 8160)
+++ trunk/matplotlib/lib/matplotlib/transforms.py	2010年02月26日 16:27:55 UTC (rev 8161)
@@ -2284,7 +2284,7 @@
 ((a < b) and (a < val and b > val))
 or (b < val and a > val))
 
-def offset_copy(trans, fig, x=0.0, y=0.0, units='inches'):
+def offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches'):
 '''
 Return a new transform with an added offset.
 args:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8160
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8160&view=rev
Author: mdboom
Date: 2010年02月26日 16:27:22 +0000 (2010年2月26日)
Log Message:
-----------
Fix offset_copy: the fig argument should be optional.
Modified Paths:
--------------
 branches/v0_99_maint/lib/matplotlib/transforms.py
Modified: branches/v0_99_maint/lib/matplotlib/transforms.py
===================================================================
--- branches/v0_99_maint/lib/matplotlib/transforms.py	2010年02月26日 16:04:49 UTC (rev 8159)
+++ branches/v0_99_maint/lib/matplotlib/transforms.py	2010年02月26日 16:27:22 UTC (rev 8160)
@@ -2265,7 +2265,7 @@
 ((a < b) and (a < val and b > val))
 or (b < val and a > val))
 
-def offset_copy(trans, fig, x=0.0, y=0.0, units='inches'):
+def offset_copy(trans, fig=None, x=0.0, y=0.0, units='inches'):
 '''
 Return a new transform with an added offset.
 args:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8159
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8159&view=rev
Author: jswhit
Date: 2010年02月26日 16:04:49 +0000 (2010年2月26日)
Log Message:
-----------
make default behaviour for order=3 match orders=0,1 for grid pts outside range of data.
Modified Paths:
--------------
 trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月26日 00:28:14 UTC (rev 8158)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月26日 16:04:49 UTC (rev 8159)
@@ -3755,7 +3755,7 @@
 except ImportError:
 raise ValueError('scipy.ndimage must be installed if order=3')
 coords = [ycoords,xcoords]
- dataout = map_coordinates(datain,coords,order=3,mode='constant')
+ dataout = map_coordinates(datain,coords,order=3,mode='nearest')
 else:
 raise ValueError,'order keyword must be 0, 1 or 3'
 if masked and isinstance(masked,bool):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <lee...@us...> - 2010年02月26日 00:32:20
Revision: 8157
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8157&view=rev
Author: leejjoon
Date: 2010年02月26日 00:28:07 +0000 (2010年2月26日)
Log Message:
-----------
refactor Annotation to support arbitrary transformation.
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/lib/matplotlib/offsetbox.py
 trunk/matplotlib/lib/matplotlib/text.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2010年02月25日 15:57:15 UTC (rev 8156)
+++ trunk/matplotlib/CHANGELOG	2010年02月26日 00:28:07 UTC (rev 8157)
@@ -1,3 +1,8 @@
+2010年02月25日 refactor Annotation to support arbitrary Transform as xycoords 
+ or textcoords. Also, if a tuple of two coordinates is provided, 
+ they are interpreted as coordinates for each x and y position. 
+ -JJL
+
 2010年02月24日 Added pyplot.fig_subplot(), to create a figure and a group of
 	 subplots in a single call. This offers an easier pattern than
 	 manually making figures and calling add_subplot() multiple times. FP
Modified: trunk/matplotlib/lib/matplotlib/offsetbox.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/offsetbox.py	2010年02月25日 15:57:15 UTC (rev 8156)
+++ trunk/matplotlib/lib/matplotlib/offsetbox.py	2010年02月26日 00:28:07 UTC (rev 8157)
@@ -1301,11 +1301,11 @@
 x, y = self.xytext
 if isinstance(self.textcoords, tuple):
 xcoord, ycoord = self.textcoords
- x1, y1 = self._get_xy(x, y, xcoord)
- x2, y2 = self._get_xy(x, y, ycoord)
+ x1, y1 = self._get_xy(renderer, x, y, xcoord)
+ x2, y2 = self._get_xy(renderer, x, y, ycoord)
 ox0, oy0 = x1, y2
 else:
- ox0, oy0 = self._get_xy(x, y, self.textcoords)
+ ox0, oy0 = self._get_xy(renderer, x, y, self.textcoords)
 
 #self.offsetbox.set_bbox_to_anchor((ox0, oy0))
 w, h, xd, yd = self.offsetbox.get_extent(renderer)
@@ -1526,11 +1526,11 @@
 x, y = ann.xytext
 if isinstance(ann.textcoords, tuple):
 xcoord, ycoord = ann.textcoords
- x1, y1 = ann._get_xy(x, y, xcoord)
- x2, y2 = ann._get_xy(x, y, ycoord)
+ x1, y1 = ann._get_xy(self.canvas.renderer, x, y, xcoord)
+ x2, y2 = ann._get_xy(self.canvas.renderer, x, y, ycoord)
 ox0, oy0 = x1, y2
 else:
- ox0, oy0 = ann._get_xy(x, y, ann.textcoords)
+ ox0, oy0 = ann._get_xy(self.canvas.renderer, x, y, ann.textcoords)
 
 self.ox, self.oy = ox0, oy0
 self.annotation.textcoords = "figure pixels"
@@ -1539,7 +1539,7 @@
 ann = self.annotation
 ann.xytext = self.ox + dx, self.oy + dy
 x, y = ann.xytext
- xy = ann._get_xy(x, y, ann.textcoords)
+ xy = ann._get_xy(self.canvas.renderer, x, y, ann.textcoords)
 
 def finalize_offset(self):
 loc_in_canvas = self.annotation.xytext
Modified: trunk/matplotlib/lib/matplotlib/text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/text.py	2010年02月25日 15:57:15 UTC (rev 8156)
+++ trunk/matplotlib/lib/matplotlib/text.py	2010年02月26日 00:28:07 UTC (rev 8157)
@@ -16,7 +16,8 @@
 from matplotlib.patches import bbox_artist, YAArrow, FancyBboxPatch, \
 FancyArrowPatch, Rectangle
 import matplotlib.transforms as mtransforms
-from matplotlib.transforms import Affine2D, Bbox
+from matplotlib.transforms import Affine2D, Bbox, Transform ,\
+ BboxBase, BboxTransformTo
 from matplotlib.lines import Line2D
 
 from matplotlib.artist import allow_rasterization
@@ -306,7 +307,7 @@
 ismath=ismath)
 else:
 w, h, d = 0, 0, 0
- 
+
 if baseline is None:
 baseline = h - d
 whs[i] = w, h
@@ -1389,6 +1390,45 @@
 
 docstring.interpd.update(TextWithDash=artist.kwdoc(TextWithDash))
 
+
+class OffsetFrom(object):
+ def __init__(self, artist, ref_coord, unit="points"):
+ self._artist = artist
+ self._ref_coord= ref_coord
+ self.set_unit(unit)
+
+ def set_unit(self, unit):
+ assert unit in ["points", "pixels"]
+ self._unit = unit
+
+ def get_unit(self):
+ return self._unit
+
+ def _get_scale(self, renderer):
+ unit = self.get_unit()
+ if unit == "pixels":
+ return 1.
+ else:
+ return renderer.points_to_pixels(1.)
+
+ def __call__(self, renderer):
+ if isinstance(self._artist, Artist):
+ bbox = self._artist.get_window_extent(renderer)
+ l, b, w, h = bbox.bounds
+ xf, yf = self._ref_coord
+ x, y = l+w*xf, b+h*yf
+ elif isinstance(self._artist, BboxBase):
+ l, b, w, h = self._artist.bounds
+ xf, yf = self._ref_coord
+ x, y = l+w*xf, b+h*yf
+ elif isinstance(self._artist, Transform):
+ x, y = self._artist.transform_point(self._ref_coord)
+
+ sc = self._get_scale(renderer)
+ tr = Affine2D().scale(sc, sc).translate(x, y)
+
+ return tr
+
 class _AnnotationBase(object):
 def __init__(self,
 xy, xytext=None,
@@ -1408,102 +1448,169 @@
 
 self._draggable = None
 
+ def _get_xy(self, renderer, x, y, s):
+ if isinstance(s, tuple):
+ s1, s2 = s
+ else:
+ s1, s2 = s, s
 
- def _get_xy(self, x, y, s):
- if s=='data':
- trans = self.axes.transData
+ if s1 == 'data':
 x = float(self.convert_xunits(x))
+ if s2 == 'data':
 y = float(self.convert_yunits(y))
- return trans.transform_point((x, y))
- elif s=='offset points':
- # convert the data point
- dx, dy = self.xy
 
- # prevent recursion
- if self.xycoords == 'offset points':
- return self._get_xy(dx, dy, 'data')
 
- dx, dy = self._get_xy(dx, dy, self.xycoords)
+ tr = self._get_xy_transform(renderer, s)
+ x1, y1 = tr.transform_point((x, y))
+ return x1, y1
 
- # convert the offset
- dpi = self.figure.get_dpi()
- x *= dpi/72.
- y *= dpi/72.
+ def _get_xy_transform(self, renderer, s):
 
- # add the offset to the data point
- x += dx
- y += dy
+ if isinstance(s, tuple):
+ s1, s2 = s
+ from matplotlib.transforms import blended_transform_factory
+ tr1 = self._get_xy_transform(renderer, s1)
+ tr2 = self._get_xy_transform(renderer, s2)
+ tr = blended_transform_factory(tr1, tr2)
+ return tr
 
- return x, y
+ if callable(s):
+ tr = s(renderer)
+ if isinstance(tr, BboxBase):
+ return BboxTransformTo(tr)
+ elif isinstance(tr, Transform):
+ return tr
+ else:
+ raise RuntimeError("unknown return type ...")
+ if isinstance(s, Artist):
+ bbox = s.get_window_extent(renderer)
+ return BboxTransformTo(bbox)
+ elif isinstance(s, BboxBase):
+ return BboxTransformTo(s)
+ elif isinstance(s, Transform):
+ return s
+ elif not is_string_like(s):
+ raise RuntimeError("unknown coordinate type : %s" % (s,))
+
+ if s=='data':
+ return self.axes.transData
 elif s=='polar':
- theta, r = x, y
- x = r*np.cos(theta)
- y = r*np.sin(theta)
- trans = self.axes.transData
- return trans.transform_point((x,y))
- elif s=='figure points':
- #points from the lower left corner of the figure
- dpi = self.figure.dpi
- l,b,w,h = self.figure.bbox.bounds
- r = l+w
- t = b+h
+ from matplotlib.projections import PolarAxes
+ tr = PolarAxes.PolarTransform()
+ trans = tr + self.axes.transData
+ return trans
+ 
+ s_ = s.split()
+ if len(s_) != 2:
+ raise ValueError("%s is not a recognized coodinate" % s)
 
- x *= dpi/72.
- y *= dpi/72.
- if x<0:
- x = r + x
- if y<0:
- y = t + y
- return x,y
- elif s=='figure pixels':
- #pixels from the lower left corner of the figure
- l,b,w,h = self.figure.bbox.bounds
- r = l+w
- t = b+h
- if x<0:
- x = r + x
- if y<0:
- y = t + y
- return x, y
- elif s=='figure fraction':
- #(0,0) is lower left, (1,1) is upper right of figure
- trans = self.figure.transFigure
- return trans.transform_point((x,y))
- elif s=='axes points':
- #points from the lower left corner of the axes
- dpi = self.figure.dpi
- l,b,w,h = self.axes.bbox.bounds
- r = l+w
- t = b+h
- if x<0:
- x = r + x*dpi/72.
- else:
- x = l + x*dpi/72.
- if y<0:
- y = t + y*dpi/72.
- else:
- y = b + y*dpi/72.
- return x, y
- elif s=='axes pixels':
- #pixels from the lower left corner of the axes
+ bbox0, xy0 = None, None
 
- l,b,w,h = self.axes.bbox.bounds
- r = l+w
- t = b+h
- if x<0:
- x = r + x
+ bbox_name, unit = s_
+ # if unit is offset-like
+ if bbox_name == "figure":
+ bbox0 = self.figure.bbox
+ elif bbox_name == "axes":
+ bbox0 = self.axes.bbox
+ # elif bbox_name == "bbox":
+ # if bbox is None:
+ # raise RuntimeError("bbox is specified as a coordinate but never set")
+ # bbox0 = self._get_bbox(renderer, bbox)
+
+ if bbox0 is not None:
+ xy0 = bbox0.bounds[:2]
+ elif bbox_name == "offset":
+ xy0 = self._get_ref_xy(renderer)
+
+ if xy0 is not None:
+ # reference x, y in display coordinate
+ ref_x, ref_y = xy0
+ from matplotlib.transforms import Affine2D
+ if unit == "points":
+ dpi = self.figure.get_dpi()
+ tr = Affine2D().scale(dpi/72., dpi/72.)
+ elif unit == "pixels":
+ tr = Affine2D()
+ elif unit == "fontsize":
+ fontsize = self.get_size()
+ dpi = self.figure.get_dpi()
+ tr = Affine2D().scale(fontsize*dpi/72., fontsize*dpi/72.)
+ elif unit == "fraction":
+ w, h = bbox0.bounds[2:]
+ tr = Affine2D().scale(w, h)
 else:
- x = l + x
- if y<0:
- y = t + y
- else:
- y = b + y
- return x, y
- elif s=='axes fraction':
- #(0,0) is lower left, (1,1) is upper right of axes
- trans = self.axes.transAxes
- return trans.transform_point((x, y))
+ raise ValueError("%s is not a recognized coodinate" % s)
 
+ return tr.translate(ref_x, ref_y)
+
+ else:
+ raise ValueError("%s is not a recognized coodinate" % s)
+
+
+ def _get_ref_xy(self, renderer):
+ """
+ return x, y (in display coordinate) that is to be used for a reference
+ of any offset coordinate
+ """
+
+ if isinstance(self.xycoords, tuple):
+ s1, s2 = self.xycoords
+ if s1.split()[0] == "offset" or s2.split()[0] == "offset":
+ raise ValueError("xycoords should not be an offset coordinate")
+ x, y = self.xy
+ x1, y1 = self._get_xy(renderer, x, y, s1)
+ x2, y2 = self._get_xy(renderer, x, y, s2)
+ return x1, y2
+ elif is_string_like(self.xycoords) and self.xycoords.split()[0] == "offset":
+ raise ValueError("xycoords should not be an offset coordinate")
+ else:
+ x, y = self.xy
+ return self._get_xy(renderer, x, y, self.xycoords)
+ #raise RuntimeError("must be defined by the derived class")
+
+
+ # def _get_bbox(self, renderer):
+ # if hasattr(bbox, "bounds"):
+ # return bbox
+ # elif hasattr(bbox, "get_window_extent"):
+ # bbox = bbox.get_window_extent()
+ # return bbox
+ # else:
+ # raise ValueError("A bbox instance is expected but got %s" % str(bbox))
+
+
+
+ def _get_xy_legacy(self, renderer, x, y, s):
+ """
+ only used when s in ['axes points', 'axes pixel', 'figure points', 'figure pixel'].
+ """
+ s_ = s.split()
+ bbox0, xy0 = None, None
+ bbox_name, unit = s_
+
+ if bbox_name == "figure":
+ bbox0 = self.figure.bbox
+ elif bbox_name == "axes":
+ bbox0 = self.axes.bbox
+
+ if unit == "points":
+ sc = self.figure.get_dpi()/72.
+ elif unit == "pixels":
+ sc = 1
+
+ l,b,r,t = bbox0.extents
+ if x<0:
+ x = r + x*sc
+ else:
+ x = l + x*sc
+ if y<0:
+ y = t + y*sc
+ else:
+ y = b + y*sc
+
+ return x, y
+ 
+
 def set_annotation_clip(self, b):
 """
 set *annotation_clip* attribute.
@@ -1524,7 +1631,7 @@
 def _get_position_xy(self, renderer):
 "Return the pixel position of the the annotated point."
 x, y = self.xy
- return self._get_xy(x, y, self.xycoords)
+ return self._get_xy(renderer, x, y, self.xycoords)
 
 def _check_xy(self, renderer, xy_pixel):
 """
@@ -1533,6 +1640,7 @@
 """
 
 b = self.get_annotation_clip()
+
 if b or (b is None and self.xycoords == "data"):
 # check if self.xy is inside the axes.
 if not self.axes.contains_point(xy_pixel):
@@ -1550,7 +1658,7 @@
 * True : turn draggable on
 
 * False : turn draggable off
- 
+
 If draggable is on, you can drag the annotation on the canvas with
 the mouse. The DraggableAnnotation helper instance is returned if
 draggable is on.
@@ -1561,7 +1669,7 @@
 # if state is None we'll toggle
 if state is None:
 state = not is_draggable
- 
+
 if state:
 if self._draggable is None:
 self._draggable = DraggableAnnotation(self, use_blit)
@@ -1706,7 +1814,7 @@
 else:
 self.arrow_patch = None
 
- 
+
 def contains(self,event):
 t,tinfo = Text.contains(self,event)
 if self.arrow is not None:
@@ -1737,7 +1845,8 @@
 "Update the pixel positions of the annotation text and the arrow patch."
 
 x, y = self.xytext
- self._x, self._y = self._get_xy(x, y, self.textcoords)
+ self._x, self._y = self._get_xy(renderer, x, y,
+ self.textcoords)
 
 
 x, y = xy_pixel
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <lee...@us...> - 2010年02月26日 00:31:49
Revision: 8158
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8158&view=rev
Author: leejjoon
Date: 2010年02月26日 00:28:14 +0000 (2010年2月26日)
Log Message:
-----------
add annotation_demo3.py
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
Added Paths:
-----------
 trunk/matplotlib/examples/pylab_examples/annotation_demo3.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2010年02月26日 00:28:07 UTC (rev 8157)
+++ trunk/matplotlib/CHANGELOG	2010年02月26日 00:28:14 UTC (rev 8158)
@@ -1,3 +1,5 @@
+2010年02月25日 add annotation_demo3.py that demonstrates new functionality. -JJL
+
 2010年02月25日 refactor Annotation to support arbitrary Transform as xycoords 
 or textcoords. Also, if a tuple of two coordinates is provided, 
 they are interpreted as coordinates for each x and y position. 
Added: trunk/matplotlib/examples/pylab_examples/annotation_demo3.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/annotation_demo3.py	 (rev 0)
+++ trunk/matplotlib/examples/pylab_examples/annotation_demo3.py	2010年02月26日 00:28:14 UTC (rev 8158)
@@ -0,0 +1,102 @@
+import matplotlib.pyplot as plt
+
+fig = plt.figure(1)
+fig.clf()
+
+ax1 = plt.subplot(121)
+ax2 = plt.subplot(122)
+
+bbox_args = dict(boxstyle="round", fc="0.8")
+arrow_args = dict(arrowstyle="->")
+
+ax1.annotate('figure fraction : 0, 0', xy=(0, 0), xycoords='figure fraction',
+ xytext=(20, 20), textcoords='offset points',
+ ha="left", va="bottom",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+ax1.annotate('figure fraction : 1, 1', xy=(1, 1), xycoords='figure fraction',
+ xytext=(-20, -20), textcoords='offset points',
+ ha="right", va="top",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+ax1.annotate('axes fraction : 0, 0', xy=(0, 0), xycoords='axes fraction',
+ xytext=(20, 20), textcoords='offset points',
+ ha="left", va="bottom",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+ax1.annotate('axes fraction : 1, 1', xy=(1, 1), xycoords='axes fraction',
+ xytext=(-20, -20), textcoords='offset points',
+ ha="right", va="top",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+
+an1 = ax1.annotate('Drag me 1', xy=(.5, .7), xycoords='data',
+ #xytext=(.5, .7), textcoords='data',
+ ha="center", va="center",
+ bbox=bbox_args,
+ #arrowprops=arrow_args
+ )
+
+an2 = ax1.annotate('Drag me 2', xy=(.5, .5), xycoords=an1,
+ xytext=(.5, .3), textcoords='axes fraction',
+ ha="center", va="center",
+ bbox=bbox_args,
+ arrowprops=dict(patchB=an1.get_bbox_patch(),
+ connectionstyle="arc3,rad=0.2",
+ **arrow_args)
+ )
+
+an3 = ax1.annotate('', xy=(.5, .5), xycoords=an2,
+ xytext=(.5, .5), textcoords=an1,
+ ha="center", va="center",
+ bbox=bbox_args,
+ arrowprops=dict(patchA=an1.get_bbox_patch(),
+ patchB=an2.get_bbox_patch(),
+ connectionstyle="arc3,rad=0.2",
+ **arrow_args)
+ )
+
+
+
+t = ax2.annotate('xy=(0, 1)\nxycoords=("data", "axes fraction")',
+ xy=(0, 1), xycoords=("data", 'axes fraction'),
+ xytext=(0, -20), textcoords='offset points',
+ ha="center", va="top",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+from matplotlib.text import OffsetFrom
+
+ax2.annotate('xy=(0.5, 0)\nxycoords="bbox fraction"\nxybbox=artist',
+ xy=(0.5, 0.), xycoords=t.get_window_extent,
+ xytext=(0, -20), textcoords='offset points',
+ ha="center", va="top",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+ax2.annotate('xy=(0.8, 0.5)\nxycoords="bbox"\nxybbox=ax1.transData',
+ xy=(0.8, 0.5), xycoords=ax1.transData,
+ #xytext=(0, 0), textcoords='data',
+ xytext=(10, 10), textcoords=OffsetFrom(ax2.bbox, (0, 0), "points"),
+ ha="left", va="bottom",
+ bbox=bbox_args,
+ arrowprops=arrow_args
+ )
+
+ax2.set_xlim(-2, 2)
+ax2.set_ylim(-2, 2)
+
+an1.draggable()
+an2.draggable()
+
+plt.show()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8156
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8156&view=rev
Author: jswhit
Date: 2010年02月25日 15:57:15 +0000 (2010年2月25日)
Log Message:
-----------
update transform_scalar and transform_vector docstrings.
Modified Paths:
--------------
 trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月25日 15:54:08 UTC (rev 8155)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月25日 15:57:15 UTC (rev 8156)
@@ -2384,7 +2384,8 @@
 array with values outside map projection region
 masked (Default False).
 order 0 for nearest-neighbor interpolation, 1 for
- bilinear (Default 1).
+ bilinear, 3 for cubic spline (Default 1).
+ Cubic spline interpolation requires scipy.ndimage.
 ============== ====================================================
 
 Returns ``datout`` (data on map projection grid).
@@ -2455,7 +2456,8 @@
 array with values outside map projection region
 masked (Default False).
 order 0 for nearest-neighbor interpolation, 1 for
- bilinear (Default 1).
+ bilinear, 3 for cubic spline (Default 1).
+ Cubic spline interpolation requires scipy.ndimage.
 ============== ====================================================
 
 Returns ``uout, vout`` (vector field on map projection grid).
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8155
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8155&view=rev
Author: jswhit
Date: 2010年02月25日 15:54:08 +0000 (2010年2月25日)
Log Message:
-----------
fix typo in previous commit
Modified Paths:
--------------
 trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月25日 15:53:30 UTC (rev 8154)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月25日 15:54:08 UTC (rev 8155)
@@ -3753,7 +3753,7 @@
 except ImportError:
 raise ValueError('scipy.ndimage must be installed if order=3')
 coords = [ycoords,xcoords]
- map_coordinates(datain,coords,order=3,mode='constant')
+ dataout = map_coordinates(datain,coords,order=3,mode='constant')
 else:
 raise ValueError,'order keyword must be 0, 1 or 3'
 if masked and isinstance(masked,bool):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <js...@us...> - 2010年02月25日 15:53:38
Revision: 8154
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8154&view=rev
Author: jswhit
Date: 2010年02月25日 15:53:30 +0000 (2010年2月25日)
Log Message:
-----------
added order=3 option to interp
Modified Paths:
--------------
 trunk/toolkits/basemap/Changelog
 trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog	2010年02月24日 20:48:26 UTC (rev 8153)
+++ trunk/toolkits/basemap/Changelog	2010年02月25日 15:53:30 UTC (rev 8154)
@@ -1,4 +1,6 @@
 version 0.99.5 (not yet released)
+ * added option for cubic spline interpolation in interp function
+ (order=3) using scipy.ndimage.
 * added "near-sided perspective" projection for a satellite
 view at an arbitrary altitude.
 * patch from Stephane Raynaud to pass format string to
Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py
===================================================================
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月24日 20:48:26 UTC (rev 8153)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py	2010年02月25日 15:53:30 UTC (rev 8154)
@@ -3639,7 +3639,7 @@
 y, 2nd dimension x.
 xin, yin rank-1 arrays containing x and y of
 datain grid in increasing order.
- xout, yout arrays containing x and y of desired output grid.
+ xout, yout rank-2 arrays containing x and y of desired output grid.
 ============== ====================================================
 
 .. tabularcolumns:: |l|L|
@@ -3660,7 +3660,8 @@
 points outside the range of xin and yin will be
 set to that number. Default False.
 order 0 for nearest-neighbor interpolation, 1 for
- bilinear interpolation (default 1).
+ bilinear interpolation, 3 for cublic spline
+ (default 1). order=3 requires scipy.ndimage.
 ============== ====================================================
 
 .. note::
@@ -3746,8 +3747,15 @@
 xcoordsi = np.around(xcoords).astype(np.int32)
 ycoordsi = np.around(ycoords).astype(np.int32)
 dataout = datain[ycoordsi,xcoordsi]
+ elif order == 3:
+ try:
+ from scipy.ndimage import map_coordinates
+ except ImportError:
+ raise ValueError('scipy.ndimage must be installed if order=3')
+ coords = [ycoords,xcoords]
+ map_coordinates(datain,coords,order=3,mode='constant')
 else:
- raise ValueError,'order keyword must be 0 or 1'
+ raise ValueError,'order keyword must be 0, 1 or 3'
 if masked and isinstance(masked,bool):
 dataout = ma.masked_array(dataout)
 newmask = ma.mask_or(ma.getmask(dataout), xymask)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <ef...@us...> - 2010年02月24日 20:48:33
Revision: 8153
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8153&view=rev
Author: efiring
Date: 2010年02月24日 20:48:26 +0000 (2010年2月24日)
Log Message:
-----------
cntr.c: declare variables at start of block; fixes 2933705
Modified Paths:
--------------
 trunk/matplotlib/src/cntr.c
Modified: trunk/matplotlib/src/cntr.c
===================================================================
--- trunk/matplotlib/src/cntr.c	2010年02月24日 18:30:42 UTC (rev 8152)
+++ trunk/matplotlib/src/cntr.c	2010年02月24日 20:48:26 UTC (rev 8153)
@@ -420,19 +420,21 @@
 /* this is a saddle zone, determine whether to turn left or
 * right depending on height of centre of zone relative to
 * contour level. Set saddle[zone] if not already decided. */
+ int turnRight;
 long zone = edge + (left > 0 ? left : 0);
 if (!(saddle[zone] & SADDLE_SET))
 {
+ double zcentre;
 saddle[zone] = SADDLE_SET;
- double zcentre = (z[p0] + z[p0+left] + z[p1] + z[p1+left])/4.0;
+ zcentre = (z[p0] + z[p0+left] + z[p1] + z[p1+left])/4.0;
 if (zcentre > site->zlevel[0])
 saddle[zone] |=
 (two_levels && zcentre > site->zlevel[1])
 ? SADDLE_GT0 | SADDLE_GT1 : SADDLE_GT0;
 }
 
- int turnRight = level == 2 ? (saddle[zone] & SADDLE_GT1)
- : (saddle[zone] & SADDLE_GT0);
+ turnRight = level == 2 ? (saddle[zone] & SADDLE_GT1)
+ : (saddle[zone] & SADDLE_GT0);
 if (z1 ^ (level == 2))
 turnRight = !turnRight;
 if (!turnRight)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <fer...@us...> - 2010年02月24日 19:09:49
Revision: 8151
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8151&view=rev
Author: fer_perez
Date: 2010年02月24日 18:25:49 +0000 (2010年2月24日)
Log Message:
-----------
Add pyplot.fig_subplot, for easier creation of figures with multiple subplots.
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/lib/matplotlib/pyplot.py
Added Paths:
-----------
 trunk/matplotlib/examples/pylab_examples/fig_subplot_demo.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2010年02月23日 17:02:11 UTC (rev 8150)
+++ trunk/matplotlib/CHANGELOG	2010年02月24日 18:25:49 UTC (rev 8151)
@@ -1,3 +1,7 @@
+2010年02月24日 Added pyplot.fig_subplot(), to create a figure and a group of
+	 subplots in a single call. This offers an easier pattern than
+	 manually making figures and calling add_subplot() multiple times. FP
+	 
 2010年02月17日 Added Gokhan's and Mattias' customizable keybindings patch
 for the toolbar. You can now set the keymap.* properties
 in the matplotlibrc file. Newbindings were added for
Added: trunk/matplotlib/examples/pylab_examples/fig_subplot_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/fig_subplot_demo.py	 (rev 0)
+++ trunk/matplotlib/examples/pylab_examples/fig_subplot_demo.py	2010年02月24日 18:25:49 UTC (rev 8151)
@@ -0,0 +1,42 @@
+"""
+"""
+import matplotlib.pyplot as plt
+import numpy as np
+
+x = np.linspace(0, 2*np.pi, 400)
+y = np.sin(x**2)
+
+plt.close('all')
+
+# Just a figure and one subplot
+f, ax = plt.fig_subplot()
+ax.plot(x, y)
+ax.set_title('Simple plot')
+
+# Two subplots, grab the whole fig_axes list
+fax = plt.fig_subplot(2, sharex=True)
+fax[1].plot(x, y)
+fax[1].set_title('Sharing X axis')
+fax[2].scatter(x, y)
+
+# Two subplots, unpack the output immediately
+f, ax1, ax2 = plt.fig_subplot(1, 2, sharey=True)
+ax1.plot(x, y)
+ax1.set_title('Sharing Y axis')
+ax2.scatter(x, y)
+
+# Three subplots sharing both x/y axes
+f, ax1, ax2, ax3 = plt.fig_subplot(3, sharex=True, sharey=True)
+ax1.plot(x, y)
+ax1.set_title('Sharing both axes')
+ax2.scatter(x, y)
+ax3.scatter(x, 2*y**2-1,color='r')
+# Fine-tune figure; make subplots close to each other and hide x ticks for
+# all but bottom plot.
+f.subplots_adjust(hspace=0)
+plt.setp([a.get_xticklabels() for a in f.axes[:-1]], visible=False)
+
+# Four polar axes
+plt.fig_subplot(2, 2, subplot_kw=dict(polar=True))
+
+plt.show()
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py	2010年02月23日 17:02:11 UTC (rev 8150)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py	2010年02月24日 18:25:49 UTC (rev 8151)
@@ -649,6 +649,80 @@
 return a
 
 
+def fig_subplot(nrows=1, ncols=1, sharex=False, sharey=False,
+ subplot_kw=None, **fig_kw):
+ """Create a figure with a set of subplots already made.
+
+ This utility wrapper makes it convenient to create common layouts of
+ subplots, including the enclosing figure object, in a single call.
+
+ Keyword arguments:
+ 
+ nrows : int
+ Number of rows of the subplot grid. Defaults to 1.
+
+ nrows : int
+ Number of columns of the subplot grid. Defaults to 1.
+
+ sharex : bool
+ If True, the X axis will be shared amongst all subplots.
+
+ sharex : bool
+ If True, the Y axis will be shared amongst all subplots.
+
+ subplot_kw : dict
+ Dict with keywords passed to the add_subplot() call used to create each
+ subplots.
+
+ fig_kw : dict
+ Dict with keywords passed to the figure() call. Note that all keywords
+ not recognized above will be automatically included here.
+
+ Returns:
+
+ fig_axes : list 
+ A list containing [fig, ax1, ax2, ...], where fig is the Matplotlib
+ Figure object and the rest are the axes.
+
+ **Examples:**
+
+ x = np.linspace(0, 2*np.pi, 400)
+ y = np.sin(x**2)
+
+ # Just a figure and one subplot
+ f, ax = plt.fig_subplot()
+ ax.plot(x, y)
+ ax.set_title('Simple plot')
+ 
+ # Two subplots, unpack the output immediately
+ f, ax1, ax2 = plt.fig_subplot(1, 2, sharey=True)
+ ax1.plot(x, y)
+ ax1.set_title('Sharing Y axis')
+ ax2.scatter(x, y)
+
+ # Four polar axes
+ plt.fig_subplot(2, 2, subplot_kw=dict(polar=True))
+ """
+
+ if subplot_kw is None:
+ subplot_kw = {}
+ 
+ fig = figure(**fig_kw)
+
+ # Create first subplot separately, so we can share it if requested
+ ax1 = fig.add_subplot(nrows, ncols, 1, **subplot_kw)
+ if sharex:
+ subplot_kw['sharex'] = ax1
+ if sharey:
+ subplot_kw['sharey'] = ax1
+
+ # Valid indices for axes start at 1, since fig is at 0: 
+ axes = [ fig.add_subplot(nrows, ncols, i, **subplot_kw)
+ for i in range(2, nrows*ncols+1)]
+
+ return [fig, ax1] + axes
+
+
 def twinx(ax=None):
 """
 Make a second axes overlay *ax* (or the current axes if *ax* is
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <ef...@us...> - 2010年02月24日 18:30:49
Revision: 8152
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8152&view=rev
Author: efiring
Date: 2010年02月24日 18:30:42 +0000 (2010年2月24日)
Log Message:
-----------
cntr.c: patch by Ian Thomas to fix bug ID 2956378
Modified Paths:
--------------
 trunk/matplotlib/src/cntr.c
Modified: trunk/matplotlib/src/cntr.c
===================================================================
--- trunk/matplotlib/src/cntr.c	2010年02月24日 18:25:49 UTC (rev 8151)
+++ trunk/matplotlib/src/cntr.c	2010年02月24日 18:30:42 UTC (rev 8152)
@@ -605,6 +605,9 @@
 }
 if (fwd < 0 && level0 && left < 0)
 {
+		 /* remove J0_START from this boundary edge as boundary is
+		 * included by the upwards slit from contour line below. */
+ data[edge] &= ~J0_START;
 if (n_kind) kcp[n_kind] += kind_start_slit;
 return slit_cutter (site, 0, pass2);
 }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2010年02月23日 17:02:19
Revision: 8150
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8150&view=rev
Author: jdh2358
Date: 2010年02月23日 17:02:11 +0000 (2010年2月23日)
Log Message:
-----------
add Ben Axelrod's button patch for RectangleSelector
Modified Paths:
--------------
 trunk/matplotlib/examples/widgets/rectangle_selector.py
 trunk/matplotlib/lib/matplotlib/widgets.py
Modified: trunk/matplotlib/examples/widgets/rectangle_selector.py
===================================================================
--- trunk/matplotlib/examples/widgets/rectangle_selector.py	2010年02月22日 23:23:05 UTC (rev 8149)
+++ trunk/matplotlib/examples/widgets/rectangle_selector.py	2010年02月23日 17:02:11 UTC (rev 8150)
@@ -30,5 +30,6 @@
 # drawtype is 'box' or 'line' or 'none'
 LS = RectangleSelector(current_ax, line_select_callback,
 drawtype='box',useblit=True,
+ button = [1, 3], # don't use center mouse button
 minspanx=5,minspany=5,spancoords='pixels')
 show()
Modified: trunk/matplotlib/lib/matplotlib/widgets.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/widgets.py	2010年02月22日 23:23:05 UTC (rev 8149)
+++ trunk/matplotlib/lib/matplotlib/widgets.py	2010年02月23日 17:02:11 UTC (rev 8150)
@@ -1017,7 +1017,8 @@
 """
 def __init__(self, ax, onselect, drawtype='box',
 minspanx=None, minspany=None, useblit=False,
- lineprops=None, rectprops=None, spancoords='data'):
+ lineprops=None, rectprops=None, spancoords='data',
+ button=None):
 
 """
 Create a selector in ax. When a selection is made, clear
@@ -1047,6 +1048,15 @@
 spancoords is one of 'data' or 'pixels'. If 'data', minspanx
 and minspanx will be interpreted in the same coordinates as
 the x and ya axis, if 'pixels', they are in pixels
+
+ button is a list of integers indicating which mouse buttons should
+ be used for rectangle selection. You can also specify a single
+ integer if only a single button is desired. Default is None, which
+ does not limit which button can be used.
+ Note, typically:
+ 1 = left mouse button
+ 2 = center mouse button (scroll wheel)
+ 3 = right mouse button
 """
 self.ax = ax
 self.visible = True
@@ -1084,6 +1094,11 @@
 self.minspanx = minspanx
 self.minspany = minspany
 
+ if button is None or isinstance(button, list):
+ self.validButtons = button
+ elif isinstance(button, int):
+ self.validButtons = [button]
+ 
 assert(spancoords in ('data', 'pixels'))
 
 self.spancoords = spancoords
@@ -1109,6 +1124,12 @@
 if not self.canvas.widgetlock.available(self):
 return True
 
+ # Only do rectangle selection if event was triggered
+ # with a desired button
+ if self.validButtons is not None:
+ if not event.button in self.validButtons:
+ return True
+ 
 # If no button was pressed yet ignore the event if it was out
 # of the axes
 if self.eventpress == None:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2010年02月22日 23:23:11
Revision: 8149
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8149&view=rev
Author: jdh2358
Date: 2010年02月22日 23:23:05 +0000 (2010年2月22日)
Log Message:
-----------
support LogNorm as arg to hexbin
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/axes.py
 trunk/matplotlib/lib/matplotlib/colorbar.py
 trunk/matplotlib/lib/matplotlib/ticker.py
 trunk/matplotlib/make.osx
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py	2010年02月22日 16:41:11 UTC (rev 8148)
+++ trunk/matplotlib/lib/matplotlib/axes.py	2010年02月22日 23:23:05 UTC (rev 8149)
@@ -5769,9 +5769,22 @@
 transOffset = self.transData,
 )
 
+ if isinstance(norm, mcolors.LogNorm):
+ if (accum==0).any():
+ # make sure we have not zeros
+ accum += 1
+ 
+
 # Transform accum if needed
 if bins=='log':
 accum = np.log10(accum+1)
+
+ # autoscale the norm with curren accum values if it hasn't
+ # been set
+ if norm is not None:
+ if norm.vmin is None and norm.vmax is None:
+ norm.autoscale(accum)
+ 
 elif bins!=None:
 if not iterable(bins):
 minimum, maximum = min(accum), max(accum)
Modified: trunk/matplotlib/lib/matplotlib/colorbar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/colorbar.py	2010年02月22日 16:41:11 UTC (rev 8148)
+++ trunk/matplotlib/lib/matplotlib/colorbar.py	2010年02月22日 23:23:05 UTC (rev 8149)
@@ -455,6 +455,10 @@
 locator.set_data_interval(*intv)
 formatter.set_view_interval(*intv)
 formatter.set_data_interval(*intv)
+
+ # the dummy axis is expecting a minpos
+ locator.axis.get_minpos = lambda : intv[0]
+ formatter.axis.get_minpos = lambda : intv[0]
 b = np.array(locator())
 b, ticks = self._locate(b)
 formatter.set_locs(b)
Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py	2010年02月22日 16:41:11 UTC (rev 8148)
+++ trunk/matplotlib/lib/matplotlib/ticker.py	2010年02月22日 23:23:05 UTC (rev 8149)
@@ -147,6 +147,7 @@
 def set_data_interval(self, vmin, vmax):
 self.dataLim.intervalx = vmin, vmax
 
+
 def set_axis(self, axis):
 self.axis = axis
 
Modified: trunk/matplotlib/make.osx
===================================================================
--- trunk/matplotlib/make.osx	2010年02月22日 16:41:11 UTC (rev 8148)
+++ trunk/matplotlib/make.osx	2010年02月22日 23:23:05 UTC (rev 8149)
@@ -25,7 +25,7 @@
 
 fetch:
 	${PYTHON} -c 'import urllib; urllib.urlretrieve("http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz", "zlib-${ZLIBVERSION}.tar.gz")' &&\
-	${PYTHON} -c 'import urllib; urllib.urlretrieve("http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2", "libpng-${PNGVERSION}.tar.bz2")' &&\
+	${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.sourceforge.net/libpng/libpng-${PNGVERSION}.tar.gz", "libpng-${PNGVERSION}.tar.bz2")' &&\
 	${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")'
 
 
@@ -46,7 +46,7 @@
 png: zlib
 	export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
 	rm -rf libpng-${PNGVERSION} &&\
-	tar xvfj libpng-${PNGVERSION}.tar.bz2
+	tar xvfz libpng-${PNGVERSION}.tar.gz
 	cd libpng-${PNGVERSION} &&\
 	export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
 	export CFLAGS=${CFLAGS} &&\
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2010年02月22日 16:41:18
Revision: 8148
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8148&view=rev
Author: mdboom
Date: 2010年02月22日 16:41:11 +0000 (2010年2月22日)
Log Message:
-----------
Initialized merge tracking via "svnmerge" with revisions "1-7318" from 
http://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_99_maint
Modified Paths:
--------------
 trunk/matplotlib/doc/_templates/index.html
 trunk/matplotlib/doc/_templates/indexsidebar.html
 trunk/matplotlib/doc/faq/installing_faq.rst
 trunk/matplotlib/doc/users/installing.rst
 trunk/matplotlib/examples/pylab_examples/boxplot_demo2.py
 trunk/matplotlib/release/osx/Makefile
Property Changed:
----------------
 trunk/matplotlib/
 trunk/matplotlib/doc/pyplots/README
 trunk/matplotlib/doc/sphinxext/gen_gallery.py
 trunk/matplotlib/doc/sphinxext/gen_rst.py
 trunk/matplotlib/examples/misc/multiprocess.py
 trunk/matplotlib/examples/mplot3d/contour3d_demo.py
 trunk/matplotlib/examples/mplot3d/contourf3d_demo.py
 trunk/matplotlib/examples/mplot3d/polys3d_demo.py
 trunk/matplotlib/examples/mplot3d/scatter3d_demo.py
 trunk/matplotlib/examples/mplot3d/surface3d_demo.py
 trunk/matplotlib/examples/mplot3d/wire3d_demo.py
 trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
 trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
 trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
 trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /branches/v0_99_maint:1-7318 /trunk/matplotlib:1-7315
 + /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315
Modified: svn:mergeinfo
 - /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint:5753-5771
/branches/v0_98_5_maint:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Modified: trunk/matplotlib/doc/_templates/index.html
===================================================================
--- trunk/matplotlib/doc/_templates/index.html	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/doc/_templates/index.html	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -1,7 +1,7 @@
 {% extends "layout.html" %}
 {% set title = 'matplotlib: python plotting' %}
 
- 
+
 {% block body %}
 <h1>intro</h1>
 
Modified: trunk/matplotlib/doc/_templates/indexsidebar.html
===================================================================
--- trunk/matplotlib/doc/_templates/indexsidebar.html	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/doc/_templates/indexsidebar.html	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -9,7 +9,7 @@
 pathto('users/installing') }}">installing</a>
 </p>
 
-<p>Sandro Tosi has a new book 
+<p>Sandro Tosi has a new book
 <a href="http://www.packtpub.com/matplotlib-python-development/book">Matplotlib for python
 developers</a>
 also
@@ -22,13 +22,12 @@
 tutorial.
 </p>
 
-
 <h3>Videos</h3>
 
 <p>Watch the <a href="http://conference.scipy.org/">SciPy</a> 2009 <a href="http://www.archive.org/details/scipy09_introTutorialDay2_1">intro</a> and <a href="http://www.archive.org/details/scipy09_advancedTutorialDay1_3">advanced</a> matplotlib tutorials
 </p>
 
-<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">talk</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>MLOSS</i></a>. 
+<p>Watch a <a href="http://videolectures.net/mloss08_hunter_mat">talk</a> about matplotlib presented at <a href="http://videolectures.net/mloss08_whistler">NIPS 08 Workshop</a> <i>MLOSS</i></a>.
 </p>
 
 
Modified: trunk/matplotlib/doc/faq/installing_faq.rst
===================================================================
--- trunk/matplotlib/doc/faq/installing_faq.rst	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/doc/faq/installing_faq.rst	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -206,19 +206,19 @@
 using the `Anti-Grain Geometry`_ engine
 PS :term:`ps` :term:`vector graphics` -- Postscript_ output
 :term:`eps`
-PDF		:term:`pdf` :term:`vector graphics` --
+PDF :term:`pdf` :term:`vector graphics` --
 `Portable Document Format`_
 SVG :term:`svg` :term:`vector graphics` --
 `Scalable Vector Graphics`_
 :term:`Cairo` :term:`png` :term:`vector graphics` --
 :term:`ps` `Cairo graphics`_
-	 :term:`pdf`
-	 :term:`svg`
-	 ...
+ :term:`pdf`
+ :term:`svg`
+ ...
 :term:`GDK` :term:`png` :term:`raster graphics` --
 :term:`jpg` the `Gimp Drawing Kit`_
-	 :term:`tiff`
-	 ...
+ :term:`tiff`
+ ...
 ============= ============ ================================================
 
 And here are the user interfaces and renderer combinations supported:
@@ -264,8 +264,8 @@
 :file:`pygobject.h` to add the :cmacro:`G_BEGIN_DECLS` and :cmacro:`G_END_DECLS`
 macros, and rename :cdata:`typename` parameter to :cdata:`typename_`::
 
- -			 const char *typename,
- +			 const char *typename_,
+ - const char *typename,
+ + const char *typename_,
 
 .. _`bug in PyGTK-2.4`: http://bugzilla.gnome.org/show_bug.cgi?id=155304
 
@@ -294,20 +294,22 @@
 -----------------------
 
 If you want to install matplotlib from one of the binary installers we
-build, you have two choices: a dmg installer, which is a typical
+build, you have two choices: a mpkg installer, which is a typical
 Installer.app, or an binary OSX egg, which you can install via
 setuptools easy_install.
 
-The mkpg installer will have a "dmg" extension, and will have a name
-like :file:`matplotlib-0.99.0-py2.5-macosx10.5.dmg` depending on the
-python, matplotlib, and OSX versions. Save this file and double
-click it, which will open up a folder with a file in it that has the
-mpkg extension. Double click this to run the Installer.app, which
-will prompt you for a password if you need system wide installation
-privileges, and install to a directory like
-:file:`/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages`,
-again depedending on your python version. This directory should be in
-your python path, so you can test your installation with::
+The mkpg installer will have a "zip" extension, and will have a name
+like file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5_mpkg.zip` depending on
+the python, matplotlib, and OSX versions. You need to unzip this file
+using either the "unzip" command on OSX, or simply double clicking on
+it to run StuffIt Expander. When you double click on the resultant
+mpkd directory, which will have a name like
+file:`matplotlib-0.99.0.rc1-py2.5-macosx10.5.mpkg`, it will run the
+Installer.app, prompt you for a password if you need system wide
+installation privileges, and install to a directory like
+file:`/Library/Python/2.5/site-packages/`, again depedending on your
+python version. This directory may not be in your python path, so you
+can test your installation with::
 
 > python -c 'import matplotlib; print matplotlib.__version__, matplotlib.__file__'
 
@@ -319,24 +321,10 @@
 
 then you will need to set your PYTHONPATH, eg::
 
- export PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages:$PYTHONPATH
+ export PYTHONPATH=/Library/Python/2.5/site-packages:$PYTHONPATH
 
-See also :ref:`environment-variables`.
+See also ref:`environment-variables`.
 
-
-If you are upgrading your matplotlib using the dmg installer over an
-Enthought Python Distribution, you may get an error like "You must use
-a framework install of python". EPD puts their python in a directory
-like :file:``//Library/Frameworks/Python.framework/Versions/4.3.0``
-where 4.3.0 is an EPD version number. The mpl installer needs the
-`python` version number, so you need to create a symlink pointing your
-python version to the EPS version before installing matplotlib. For
-example, for python veersion 2.5 and EPD version 4.3.0::
-
- > cd /Library/Frameworks/Python.framework/Versions
- > ln -s 4.3.0 2.5
-
-
 .. _easy-install-osx-egg:
 
 easy_install from egg
@@ -411,25 +399,25 @@
 #branch="release"
 branch="trunk"
 if [ $branch = "trunk" ]
- 	 then
- 	 echo getting the trunk
- 	 svn co https://matplotlib.svn.sourceforge.net/svnroot/$NAME/trunk/$NAME $NAME
- 	 cd $NAME
+ then
+ echo getting the trunk
+ svn co https://matplotlib.svn.sourceforge.net/svnroot/$NAME/trunk/$NAME $NAME
+ cd $NAME
 
-	fi
-	if [ $branch = "release" ]
- 	 then
- 	 echo getting the maintenance branch
- 	 svn co https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v${VERSION}_maint $NAME$VERSION
- 	 cd $NAME$VERSION
- 	fi
- 	export CFLAGS="-Os -arch i386"
- 	export LDFLAGS="-Os -arch i386"
- 	export PKG_CONFIG_PATH="/usr/x11/lib/pkgconfig"
- 	export ARCHFLAGS="-arch i386"
- 	python setup.py build
- 	python setup.py install #--prefix=$PREFIX #Use this if you don't want it installed into your default location
-	cd ..
+ fi
+ if [ $branch = "release" ]
+ then
+ echo getting the maintenance branch
+ svn co https://matplotlib.svn.sf.net/svnroot/matplotlib/branches/v${VERSION}_maint $NAME$VERSION
+ cd $NAME$VERSION
+ fi
+ export CFLAGS="-Os -arch i386"
+ export LDFLAGS="-Os -arch i386"
+ export PKG_CONFIG_PATH="/usr/x11/lib/pkgconfig"
+ export ARCHFLAGS="-arch i386"
+ python setup.py build
+ python setup.py install #--prefix=$PREFIX #Use this if you don't want it installed into your default location
+ cd ..
 
 Run this script (for example ``sh ./install-matplotlib-epd-osx.sh``) in the
 directory in which you want the source code to be placed, or simply type the
Property changes on: trunk/matplotlib/doc/pyplots/README
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/pyplots/README:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_98_5_maint/doc/pyplots/README:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/pyplots/README:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/doc/sphinxext/gen_gallery.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/sphinxext/gen_gallery.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/doc/_templates/gen_gallery.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_gallery.py:6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/sphinxext/gen_gallery.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/doc/sphinxext/gen_rst.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/sphinxext/gen_rst.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/doc/examples/gen_rst.py:5753-5771
/branches/v0_98_5_maint/doc/sphinxext/gen_rst.py:6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/doc/sphinxext/gen_rst.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Modified: trunk/matplotlib/doc/users/installing.rst
===================================================================
--- trunk/matplotlib/doc/users/installing.rst	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/doc/users/installing.rst	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -79,6 +79,9 @@
 
 In [2]: hist(x, 100)
 
+Instructions for installing our OSX binaries are found in the FAQ
+ref:`install_osx_binaries`.
+
 Note that when testing matplotlib installations from the interactive
 python console, there are some issues relating to user interface
 toolkits and interactive settings that are discussed in
Property changes on: trunk/matplotlib/examples/misc/multiprocess.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/misc/log.py:5753-5771
/branches/v0_98_5_maint/examples/misc/log.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/misc/multiprocess.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/misc/log.py:5753-5771
/branches/v0_98_5_maint/examples/misc/log.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/misc/multiprocess.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/contour3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/contour.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contour.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/contour3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/contour.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contour.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/contour3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/contourf3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/contourf.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contourf.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/contourf3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/contourf.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/contourf.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/contourf3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/polys3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/polys.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/polys.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/polys3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/polys.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/polys.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/polys3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/scatter3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/scatter.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/scatter.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/scatter3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/scatter.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/scatter.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/scatter3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/surface3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/surface.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/surface.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/surface3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/surface.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/surface.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/surface3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/examples/mplot3d/wire3d_demo.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/examples/mplot3d/wire.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/wire.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/wire3d_demo.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/examples/mplot3d/wire.py:5753-5771
/branches/v0_98_5_maint/examples/mplot3d/wire.py:6581,6585,6587,6589-6609,6614,6616,6625,6652,6660-6662,6672-6673,6714-6715,6717-6732,6752-6754,6761-6773,6781,6792,6800,6802,6805,6809,6811,6822,6827,6850,6854,6856,6859,6861-6873,6883-6884,6886,6890-6891,6906-6909,6911-6912,6915-6916,6918,6920-6925,6927-6928,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080
/branches/v0_99_maint/examples/mplot3d/wire3d_demo.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Modified: trunk/matplotlib/examples/pylab_examples/boxplot_demo2.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/boxplot_demo2.py	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/examples/pylab_examples/boxplot_demo2.py	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -16,9 +16,6 @@
 randomDists = ['Normal(1,1)',' Lognormal(1,1)', 'Exp(1)', 'Gumbel(6,4)',
 'Triangular(2,9,11)']
 N = 500
-
-np.random.seed(3) # make identical plots each time
-
 norm = np.random.normal(1,1, N)
 logn = np.random.lognormal(1,1, N)
 expo = np.random.exponential(1, N)
@@ -42,8 +39,8 @@
 ax1 = fig.add_subplot(111)
 plt.subplots_adjust(left=0.075, right=0.95, top=0.9, bottom=0.25)
 
-bp = plt.boxplot(data, notch=0, sym='+', vert=1, whis=1.5, patch_artist=True)
-plt.setp(bp['boxes'], edgecolor='black')
+bp = plt.boxplot(data, notch=0, sym='+', vert=1, whis=1.5)
+plt.setp(bp['boxes'], color='black')
 plt.setp(bp['whiskers'], color='black')
 plt.setp(bp['fliers'], color='red', marker='+')
 
@@ -64,12 +61,25 @@
 medians = range(numBoxes)
 for i in range(numBoxes):
 box = bp['boxes'][i]
+ boxX = []
+ boxY = []
+ for j in range(5):
+ boxX.append(box.get_xdata()[j])
+ boxY.append(box.get_ydata()[j])
+ boxCoords = zip(boxX,boxY)
+ # Alternate between Dark Khaki and Royal Blue
 k = i % 2
- # Set the box colors
- box.set_facecolor(boxColors[k])
- # Now get the medians
+ boxPolygon = Polygon(boxCoords, facecolor=boxColors[k])
+ ax1.add_patch(boxPolygon)
+ # Now draw the median lines back over what we just filled in
 med = bp['medians'][i]
- medians[i] = med.get_ydata()[0]
+ medianX = []
+ medianY = []
+ for j in range(2):
+ medianX.append(med.get_xdata()[j])
+ medianY.append(med.get_ydata()[j])
+ plt.plot(medianX, medianY, 'k')
+ medians[i] = medianY[0]
 # Finally, overplot the sample averages, with horixzontal alignment
 # in the center of each box
 plt.plot([np.average(med.get_xdata())], [np.average(data[i])],
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/mathmpl.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/mathmpl.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/only_directives.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py:6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/only_directives.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/lib/matplotlib/sphinxext/plot_directive.py
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/plot_directive.py:7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_91_maint/doc/sphinxext/plot_directive.py:5753-5771
/branches/v0_98_5_maint/lib/matplotlib/sphinxext/plot_directive.py:6920-6925,6934,6941,6946,6948,6950,6952,6960,6972,6984-6985,6990,6995,6997-7001,7014,7016,7018,7024-7025,7033,7035,7042,7072,7080,7176,7209-7211,7227,7245
/branches/v0_99_maint/lib/matplotlib/sphinxext/plot_directive.py:7323-7338,7393,7395-7404,7407-7424,7428-7433,7442-7444,7446,7475-7482,7484,7486,7489-7523,7567,7569,7582-7584,7616-7618,7633,7638,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Property changes on: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png
___________________________________________________________________
Modified: svn:mergeinfo
 - /branches/v0_99_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
 + /branches/v0_99_maint/lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png:7323-7337,7703,7727-7734,7740-7741,7745,7751,7756,7762,7770,7772,7774,7776-7778,7780,7784,7788,7790,7792,7794,7796,7800,7803,7808,7822,7827,7834,7837,7844,7846-7847,7849,7858,7864,7866-7867,7874,7884,7896,7901-7903,7916,7919,7924,7928,7944,7952,7970,7972,7981,7983,7989-7991,7998,8001,8003,8016-8057,8068,8070,8092-8116,8121-8135
Modified: trunk/matplotlib/release/osx/Makefile
===================================================================
--- trunk/matplotlib/release/osx/Makefile	2010年02月22日 16:30:27 UTC (rev 8147)
+++ trunk/matplotlib/release/osx/Makefile	2010年02月22日 16:41:11 UTC (rev 8148)
@@ -22,86 +22,86 @@
 LDFLAGS_DEPS="-arch i386 -arch ppc -L${SRCDIR}/zlib-${ZLIBVERSION} -syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
 
 clean:
-	rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \
-	freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \
-	bdist_mpkg-${BDISTMPKGVERSION} \
-	zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \
-	matplotlib-${MPLVERSION} *~
+ rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \
+ freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \
+ bdist_mpkg-${BDISTMPKGVERSION} \
+ zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \
+ matplotlib-${MPLVERSION} *~
 
 fetch:
-	curl -LO http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\
-	curl -LO http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\
-	curl -LO http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\
-	curl -LO http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\
-	tar xvfz bdist_mpkg-${BDISTMPKGVERSION}.tar.gz &&\
-	echo "You need to install bdist_mpkg-${BDISTMPKGVERSION} now"
+ curl -LO http://www.zlib.net/zlib-${ZLIBVERSION}.tar.gz &&\
+ curl -LO http://internap.dl.sourceforge.net/sourceforge/libpng/libpng-${PNGVERSION}.tar.bz2 &&\
+ curl -LO http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2&&\
+ curl -LO http://pypi.python.org/packages/source/b/bdist_mpkg/bdist_mpkg-${BDISTMPKGVERSION}.tar.gz&&\
+ tar xvfz bdist_mpkg-${BDISTMPKGVERSION}.tar.gz &&\
+ echo "You need to install bdist_mpkg-${BDISTMPKGVERSION} now"
 
 
 
 zlib:
-	unset PKG_CONFIG_PATH &&\
-	rm -rf zlib-${ZLIBVERSION} &&\
-	tar xvfz zlib-${ZLIBVERSION}.tar.gz &&\
-	cd zlib-${ZLIBVERSION} &&\
-	export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
-	export CFLAGS=${CFLAGS_DEPS} &&\
-	export LDFLAGS=${LDFLAGS_DEPS} &&\
-	./configure &&\
-	MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} CFLAGS=${CFLAGS_ZLIB} LDFLAGS=${LDFLAGS_ZLIB} make -j3&& \
-	unset MACOSX_DEPLOYMENT_TARGET
+ unset PKG_CONFIG_PATH &&\
+ rm -rf zlib-${ZLIBVERSION} &&\
+ tar xvfz zlib-${ZLIBVERSION}.tar.gz &&\
+ cd zlib-${ZLIBVERSION} &&\
+ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
+ export CFLAGS=${CFLAGS_DEPS} &&\
+ export LDFLAGS=${LDFLAGS_DEPS} &&\
+ ./configure &&\
+ MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} CFLAGS=${CFLAGS_ZLIB} LDFLAGS=${LDFLAGS_ZLIB} make -j3&& \
+ unset MACOSX_DEPLOYMENT_TARGET
 
 png: zlib
-	unset PKG_CONFIG_PATH &&\
-	rm -rf libpng-${PNGVERSION} &&\
-	tar xvfj libpng-${PNGVERSION}.tar.bz2
-	cd libpng-${PNGVERSION} &&\
-	export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
-	export CFLAGS=${CFLAGS_DEPS} &&\
-	export LDFLAGS=${LDFLAGS_DEPS} &&\
-	./configure --disable-dependency-tracking &&\
-	make -j3 &&\
-	cp .libs/libpng.a . &&\
-	unset MACOSX_DEPLOYMENT_TARGET
+ unset PKG_CONFIG_PATH &&\
+ rm -rf libpng-${PNGVERSION} &&\
+ tar xvfj libpng-${PNGVERSION}.tar.bz2
+ cd libpng-${PNGVERSION} &&\
+ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
+ export CFLAGS=${CFLAGS_DEPS} &&\
+ export LDFLAGS=${LDFLAGS_DEPS} &&\
+ ./configure --disable-dependency-tracking &&\
+ make -j3 &&\
+ cp .libs/libpng.a . &&\
+ unset MACOSX_DEPLOYMENT_TARGET
 
 
 freetype: zlib
-	unset PKG_CONFIG_PATH &&\
-	rm -rf ${FREETYPEVERSION} &&\
-	tar xvfj freetype-${FREETYPEVERSION}.tar.bz2 &&\
-	cd freetype-${FREETYPEVERSION} &&\
-	export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
-	export CFLAGS=${CFLAGS_DEPS} &&\
-	export LDFLAGS=${LDFLAGS_DEPS} &&\
-	./configure &&\
-	make -j3 &&\
-	cp objs/.libs/libfreetype.a . &&\
-	unset MACOSX_DEPLOYMENT_TARGET
+ unset PKG_CONFIG_PATH &&\
+ rm -rf ${FREETYPEVERSION} &&\
+ tar xvfj freetype-${FREETYPEVERSION}.tar.bz2 &&\
+ cd freetype-${FREETYPEVERSION} &&\
+ export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
+ export CFLAGS=${CFLAGS_DEPS} &&\
+ export LDFLAGS=${LDFLAGS_DEPS} &&\
+ ./configure &&\
+ make -j3 &&\
+ cp objs/.libs/libfreetype.a . &&\
+ unset MACOSX_DEPLOYMENT_TARGET
 
 deps:
-	make zlib png freetype
+ make zlib png freetype
 
 installers:
-	unset PKG_CONFIG_PATH &&\
-	tar xvfz matplotlib-${MPLVERSION}.tar.gz && \
-	cd ${MPLSRC} && \
-	rm -rf build && \
-	cp ../data/setup.cfg ../data/ReadMe.txt . &&\
-	export CFLAGS=${CFLAGS} &&\
-	export LDFLAGS=${LDFLAGS} &&\
-	/Library/Frameworks/Python.framework/Versions/${PYVERSION}/bin/bdist_mpkg --readme=ReadMe.txt &&\
-	hdiutil create -srcdir dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.mpkg dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.dmg &&\
-	${PYTHON} setupegg.py bdist_egg
+ unset PKG_CONFIG_PATH &&\
+ tar xvfz matplotlib-${MPLVERSION}.tar.gz && \
+ cd ${MPLSRC} && \
+ rm -rf build && \
+ cp ../data/setup.cfg ../data/ReadMe.txt . &&\
+ export CFLAGS=${CFLAGS} &&\
+ export LDFLAGS=${LDFLAGS} &&\
+ /Library/Frameworks/Python.framework/Versions/${PYVERSION}/bin/bdist_mpkg --readme=ReadMe.txt &&\
+ hdiutil create -srcdir dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.mpkg dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.dmg &&\
+ ${PYTHON} setupegg.py bdist_egg
 
 upload:
-	rm -rf upload &&\
-	mkdir upload &&\
-	cp matplotlib-${MPLVERSION}.tar.gz upload/ &&\
-	cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}_r0-py${PYVERSION}-macosx-10.3-fat.egg upload/matplotlib-${MPLVERSION}-macosx-py${PYVERSION}.egg &&\
-	cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.zip upload/matplotlib-${MPLVERSION}-py${PYVERSION}-mpkg.zip&&\
-	scp upload/* jd...@fr...:uploads/
+ rm -rf upload &&\
+ mkdir upload &&\
+ cp matplotlib-${MPLVERSION}.tar.gz upload/ &&\
+ cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}_r0-py${PYVERSION}-macosx-10.3-fat.egg upload/matplotlib-${MPLVERSION}-macosx-py${PYVERSION}.egg &&\
+ cp matplotlib-${MPLVERSION}/dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx10.5.zip upload/matplotlib-${MPLVERSION}-py${PYVERSION}-mpkg.zip&&\
+ scp upload/* jd...@fr...:uploads/
 
 all:
-	make clean fetch deps installers upload
+ make clean fetch deps installers upload
 
 
 
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2010年02月22日 16:30:33
Revision: 8147
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8147&view=rev
Author: mdboom
Date: 2010年02月22日 16:30:27 +0000 (2010年2月22日)
Log Message:
-----------
Fixing merge tracking from 0.99.x branch
Property Changed:
----------------
 trunk/matplotlib/
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315
 + /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /branches/v0_99_maint:1-7318 /trunk/matplotlib:1-7315
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2010年02月22日 16:22:35
Revision: 8146
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8146&view=rev
Author: mdboom
Date: 2010年02月22日 16:22:28 +0000 (2010年2月22日)
Log Message:
-----------
Backporting numpy version check fix to 0.99 branch
Modified Paths:
--------------
 branches/v0_99_maint/doc/make.py
 branches/v0_99_maint/setupext.py
Modified: branches/v0_99_maint/doc/make.py
===================================================================
--- branches/v0_99_maint/doc/make.py	2010年02月22日 14:31:45 UTC (rev 8145)
+++ branches/v0_99_maint/doc/make.py	2010年02月22日 16:22:28 UTC (rev 8146)
@@ -65,8 +65,9 @@
 print 'latex build has not been tested on windows'
 
 def clean():
- shutil.rmtree("build")
- shutil.rmtree("examples")
+ for dirpath in ['build', 'examples']:
+ if os.path.exists(dirpath):
+ shutil.rmtree(dirpath)
 for pattern in ['mpl_examples/api/*.png',
 'mpl_examples/pylab_examples/*.png',
 'mpl_examples/pylab_examples/*.pdf',
Modified: branches/v0_99_maint/setupext.py
===================================================================
--- branches/v0_99_maint/setupext.py	2010年02月22日 14:31:45 UTC (rev 8145)
+++ branches/v0_99_maint/setupext.py	2010年02月22日 16:22:28 UTC (rev 8146)
@@ -499,9 +499,10 @@
 return False
 nn = numpy.__version__.split('.')
 if not (int(nn[0]) >= 1 and int(nn[1]) >= 1):
- print_message(
- 'numpy 1.1 or later is required; you have %s' % numpy.__version__)
- return False
+ if not int(nn[0]) >= 1:
+ print_message(
+ 'numpy 1.1 or later is required; you have %s' % numpy.__version__)
+ return False
 module = Extension('test', [])
 add_numpy_flags(module)
 add_base_flags(module)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8145
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8145&view=rev
Author: jdh2358
Date: 2010年02月22日 14:31:45 +0000 (2010年2月22日)
Log Message:
-----------
fix setters for regular polygon
Modified Paths:
--------------
 branches/v0_99_maint/lib/matplotlib/patches.py
Modified: branches/v0_99_maint/lib/matplotlib/patches.py
===================================================================
--- branches/v0_99_maint/lib/matplotlib/patches.py	2010年02月22日 14:30:59 UTC (rev 8144)
+++ branches/v0_99_maint/lib/matplotlib/patches.py	2010年02月22日 14:31:45 UTC (rev 8145)
@@ -631,19 +631,22 @@
 def _get_xy(self):
 return self._xy
 def _set_xy(self, xy):
+ self._xy = xy
 self._update_transform()
 xy = property(_get_xy, _set_xy)
 
 def _get_orientation(self):
 return self._orientation
- def _set_orientation(self, xy):
- self._orientation = xy
+ def _set_orientation(self, orientation):
+ self._orientation = orientation
+ self._update_transform()
 orientation = property(_get_orientation, _set_orientation)
 
 def _get_radius(self):
 return self._radius
- def _set_radius(self, xy):
- self._radius = xy
+ def _set_radius(self, radius):
+ self._radius = radius
+ self._update_transform()
 radius = property(_get_radius, _set_radius)
 
 def _get_numvertices(self):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2010年02月22日 14:31:09
Revision: 8144
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8144&view=rev
Author: jdh2358
Date: 2010年02月22日 14:30:59 +0000 (2010年2月22日)
Log Message:
-----------
fix setters for regular polygon
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/patches.py
Modified: trunk/matplotlib/lib/matplotlib/patches.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/patches.py	2010年02月22日 14:29:31 UTC (rev 8143)
+++ trunk/matplotlib/lib/matplotlib/patches.py	2010年02月22日 14:30:59 UTC (rev 8144)
@@ -653,19 +653,22 @@
 def _get_xy(self):
 return self._xy
 def _set_xy(self, xy):
+ self._xy = xy
 self._update_transform()
 xy = property(_get_xy, _set_xy)
 
 def _get_orientation(self):
 return self._orientation
- def _set_orientation(self, xy):
- self._orientation = xy
+ def _set_orientation(self, orientation):
+ self._orientation = orientation
+ self._update_transform()
 orientation = property(_get_orientation, _set_orientation)
 
 def _get_radius(self):
 return self._radius
- def _set_radius(self, xy):
- self._radius = xy
+ def _set_radius(self, radius):
+ self._radius = radius
+ self._update_transform()
 radius = property(_get_radius, _set_radius)
 
 def _get_numvertices(self):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2010年02月22日 14:29:37
Revision: 8143
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8143&view=rev
Author: jdh2358
Date: 2010年02月22日 14:29:31 +0000 (2010年2月22日)
Log Message:
-----------
call update transform after setting orientation and radius
Property Changed:
----------------
 trunk/matplotlib/
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - <<<<<<< (modified)
/branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315=======
/branches/mathtex:1-7263 /branches/v0_99_maint:1-8135>>>>>>> (latest)
 + /branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8142
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8142&view=rev
Author: mdehoon
Date: 2010年02月22日 09:43:19 +0000 (2010年2月22日)
Log Message:
-----------
Removing the check for path length; this seems not needed with recent
versions of cairo/pycairo.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2010年02月18日 14:54:30 UTC (rev 8141)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py	2010年02月22日 09:43:19 UTC (rev 8142)
@@ -138,9 +138,6 @@
 
 
 def draw_path(self, gc, path, transform, rgbFace=None):
- if len(path.vertices) > 18980:
- raise ValueError("The Cairo backend can not draw paths longer than 18980 points.")
-
 ctx = gc.ctx
 
 transform = transform + \
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <md...@us...> - 2010年02月18日 14:54:36
Revision: 8141
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8141&view=rev
Author: mdehoon
Date: 2010年02月18日 14:54:30 +0000 (2010年2月18日)
Log Message:
-----------
Make the save_figure methods consistent with the base class signature.
Fix a call to save_figure in backend_bases.py. This bug caused the
keypress_demo.py example to fail on all backends except those based on GTK.
The bug was reported by David Arnold on the mailing list on February 14, 2010.
Modified Paths:
--------------
 trunk/matplotlib/lib/matplotlib/backend_bases.py
 trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py
 trunk/matplotlib/lib/matplotlib/backends/backend_macosx.py
 trunk/matplotlib/lib/matplotlib/backends/backend_qt.py
 trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py
 trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
Modified: trunk/matplotlib/lib/matplotlib/backend_bases.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backend_bases.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backend_bases.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -1923,7 +1923,7 @@
 self.canvas.toolbar.zoom()
 # saving current figure (default key 's')
 elif event.key in save_keys:
- self.canvas.toolbar.save_figure(self.canvas.toolbar)
+ self.canvas.toolbar.save_figure()
 
 if event.inaxes is None:
 return
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_gtk.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -653,7 +653,7 @@
 filetypes=self.canvas.get_supported_filetypes(),
 default_filetype=self.canvas.get_default_filetype())
 
- def save_figure(self, button):
+ def save_figure(self, *args):
 fname, format = self.get_filechooser().get_filename_from_user()
 if fname:
 try:
@@ -908,7 +908,7 @@
 filetypes=self.canvas.get_supported_filetypes(),
 default_filetype=self.canvas.get_default_filetype())
 
- def save_figure(self, button):
+ def save_figure(self, *args):
 fname, format = self.get_filechooser().get_filename_from_user()
 if fname:
 try:
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_macosx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_macosx.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_macosx.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -392,7 +392,7 @@
 axes[i].yaxis.zoom(direction)
 self.canvas.invalidate()
 
- def save_figure(self):
+ def save_figure(self, *args):
 filename = _macosx.choose_save_file('Save the figure')
 if filename is None: # Cancel
 return
@@ -416,7 +416,7 @@
 def set_cursor(self, cursor):
 _macosx.set_cursor(cursor)
 
- def save_figure(self):
+ def save_figure(self, *args):
 filename = _macosx.choose_save_file('Save the figure')
 if filename is None: # Cancel
 return
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_qt.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_qt.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_qt.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -422,7 +422,7 @@
 def _get_canvas(self, fig):
 return FigureCanvasQT(fig)
 
- def save_figure( self ):
+ def save_figure(self, *args):
 filetypes = self.canvas.get_supported_filetypes_grouped()
 sorted_filetypes = filetypes.items()
 sorted_filetypes.sort()
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -431,7 +431,7 @@
 def _get_canvas(self, fig):
 return FigureCanvasQT(fig)
 
- def save_figure( self ):
+ def save_figure(self, *args):
 filetypes = self.canvas.get_supported_filetypes_grouped()
 sorted_filetypes = filetypes.items()
 sorted_filetypes.sort()
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py	2010年02月17日 15:25:38 UTC (rev 8140)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py	2010年02月18日 14:54:30 UTC (rev 8141)
@@ -576,7 +576,7 @@
 a.yaxis.zoom(direction)
 self.canvas.draw()
 
- def save_figure(self):
+ def save_figure(self, *args):
 fs = FileDialog.SaveFileDialog(master=self.window,
 title='Save the figure')
 try:
@@ -703,7 +703,7 @@
 canvas.show()
 canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)
 
- def save_figure(self):
+ def save_figure(self, *args):
 from tkFileDialog import asksaveasfilename
 from tkMessageBox import showerror
 filetypes = self.canvas.get_supported_filetypes().copy()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
From: <jd...@us...> - 2010年02月17日 15:25:46
Revision: 8140
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8140&view=rev
Author: jdh2358
Date: 2010年02月17日 15:25:38 +0000 (2010年2月17日)
Log Message:
-----------
added customizable keymap patch; L or k works for log scaling xaxis
Modified Paths:
--------------
 trunk/matplotlib/CHANGELOG
 trunk/matplotlib/doc/users/navigation_toolbar.rst
 trunk/matplotlib/lib/matplotlib/backend_bases.py
 trunk/matplotlib/lib/matplotlib/rcsetup.py
 trunk/matplotlib/matplotlibrc.template
Property Changed:
----------------
 trunk/matplotlib/
Property changes on: trunk/matplotlib
___________________________________________________________________
Modified: svnmerge-integrated
 - /branches/mathtex:1-7263 /branches/v0_99_maint:1-8135
 + <<<<<<< (modified)
/branches/mathtex:1-7263 /branches/v0_91_maint:1-6428 /branches/v0_98_5_maint:1-7253 /trunk/matplotlib:1-7315=======
/branches/mathtex:1-7263 /branches/v0_99_maint:1-8135>>>>>>> (latest)
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG	2010年02月17日 02:43:26 UTC (rev 8139)
+++ trunk/matplotlib/CHANGELOG	2010年02月17日 15:25:38 UTC (rev 8140)
@@ -1,3 +1,8 @@
+2010年02月17日 Added Gokhan's and Mattias' customizable keybindings patch
+ for the toolbar. You can now set the keymap.* properties
+ in the matplotlibrc file. Newbindings were added for
+ toggling log scaling on the x-axis. JDH
+
 2010年02月16日 Committed TJ's filled marker patch for
 left|right|bottom|top|full filled markers. See
 examples/pylab_examples/filledmarker_demo.py. JDH
Modified: trunk/matplotlib/doc/users/navigation_toolbar.rst
===================================================================
--- trunk/matplotlib/doc/users/navigation_toolbar.rst	2010年02月17日 02:43:26 UTC (rev 8139)
+++ trunk/matplotlib/doc/users/navigation_toolbar.rst	2010年02月17日 15:25:38 UTC (rev 8140)
@@ -79,6 +79,8 @@
 Navigation Keyboard Shortcuts
 -----------------------------
 
+The following table holds all the default keys, which can be overwritten by use of your matplotlibrc (#keymap.\*).
+
 ================================== ==============================================
 Command Keyboard Shortcut(s)
 ================================== ==============================================
@@ -93,6 +95,7 @@
 Constrain pan/zoom to y axis hold **y**
 Preserve aspect ratio hold **CONTROL**
 Toggle grid **g**
+Toggle x axis scale (log/linear) **L** or **k**
 Toggle y axis scale (log/linear) **l**
 ================================== ==============================================
 
Modified: trunk/matplotlib/lib/matplotlib/backend_bases.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backend_bases.py	2010年02月17日 02:43:26 UTC (rev 8139)
+++ trunk/matplotlib/lib/matplotlib/backend_bases.py	2010年02月17日 15:25:38 UTC (rev 8140)
@@ -1888,50 +1888,85 @@
 # self.destroy() # how cruel to have to destroy oneself!
 # return
 
- if event.key == 'f':
+ # Load key-mappings from your matplotlibrc file.
+ fullscreen_keys = rcParams['keymap.fullscreen']
+ home_keys = rcParams['keymap.home']
+ back_keys = rcParams['keymap.back']
+ forward_keys = rcParams['keymap.forward']
+ pan_keys = rcParams['keymap.pan']
+ zoom_keys = rcParams['keymap.zoom']
+ save_keys = rcParams['keymap.save']
+ grid_keys = rcParams['keymap.grid']
+ toggle_yscale_keys = rcParams['keymap.yscale']
+ toggle_xscale_keys = rcParams['keymap.xscale']
+ all = rcParams['keymap.all_axes']
+
+ # toggle fullscreen mode (default key 'f')
+ if event.key in fullscreen_keys:
 self.full_screen_toggle()
 
- # *h*ome or *r*eset mnemonic
- elif event.key == 'h' or event.key == 'r' or event.key == "home":
+ # home or reset mnemonic (default key 'h', 'home' and 'r')
+ elif event.key in home_keys:
 self.canvas.toolbar.home()
- # c and v to enable left handed quick navigation
- elif event.key == 'left' or event.key == 'c' or event.key == 'backspace':
+ # forward / backward keys to enable left handed quick navigation
+ # (default key for backward: 'left', 'backspace' and 'c')
+ elif event.key in back_keys:
 self.canvas.toolbar.back()
- elif event.key == 'right' or event.key == 'v':
+ # (default key for forward: 'right' and 'v')
+ elif event.key in forward_keys:
 self.canvas.toolbar.forward()
- # *p*an mnemonic
- elif event.key == 'p':
+ # pan mnemonic (default key 'p')
+ elif event.key in pan_keys:
 self.canvas.toolbar.pan()
- # z*o*om mnemonic
- elif event.key == 'o':
+ # zoom mnemonic (default key 'o')
+ elif event.key in zoom_keys:
 self.canvas.toolbar.zoom()
- elif event.key == 's':
+ # saving current figure (default key 's')
+ elif event.key in save_keys:
 self.canvas.toolbar.save_figure(self.canvas.toolbar)
 
 if event.inaxes is None:
 return
 
 # the mouse has to be over an axes to trigger these
- if event.key == 'g':
+ # switching on/off a grid in current axes (default key 'g')
+ if event.key in grid_keys:
 event.inaxes.grid()
 self.canvas.draw()
- elif event.key == 'l':
+ # toggle scaling of y-axes between 'log and 'linear' (default key 'l')
+ elif event.key in toggle_yscale_keys:
 ax = event.inaxes
 scale = ax.get_yscale()
- if scale=='log':
+ if scale == 'log':
 ax.set_yscale('linear')
 ax.figure.canvas.draw()
- elif scale=='linear':
+ elif scale == 'linear':
 ax.set_yscale('log')
 ax.figure.canvas.draw()
+ # toggle scaling of x-axes between 'log and 'linear' (default key 'k')
+ elif event.key in toggle_xscale_keys:
+ ax = event.inaxes
+ scalex = ax.get_xscale()
+ if scalex == 'log':
+ ax.set_xscale('linear')
+ ax.figure.canvas.draw()
+ elif scalex == 'linear':
+ ax.set_xscale('log')
+ ax.figure.canvas.draw()
 
- elif event.key is not None and (event.key.isdigit() and event.key!='0') or event.key=='a':
- # 'a' enables all axes
- if event.key!='a':
- n=int(event.key)-1
+ elif event.key is not None and \
+ (event.key.isdigit() and event.key!='0') or event.key in all:
+ # keys in list 'all' enables all axes (default key 'a'),
+ # otherwise if key is a number only enable this particular axes
+ # if it was the axes, where the event was raised
+ if not (event.key in all):
+ n = int(event.key)-1
 for i, a in enumerate(self.canvas.figure.get_axes()):
- if event.x is not None and event.y is not None and a.in_axes(event):
- if event.key=='a':
+ # consider axes, in which the event was raised
+ # FIXME: Why only this axes?
+ if event.x is not None and event.y is not None \
+ and a.in_axes(event):
+ if event.key in all:
 a.set_navigate(True)
 else:
 a.set_navigate(i==n)
Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/rcsetup.py	2010年02月17日 02:43:26 UTC (rev 8139)
+++ trunk/matplotlib/lib/matplotlib/rcsetup.py	2010年02月17日 15:25:38 UTC (rev 8140)
@@ -546,9 +546,22 @@
 
 'path.simplify' : [True, validate_bool],
 'path.simplify_threshold' : [1.0 / 9.0, ValidateInterval(0.0, 1.0)],
- 'agg.path.chunksize' : [0, validate_int] # 0 to disable chunking;
- # recommend about 20000 to
- # enable. Experimental.
+ 'agg.path.chunksize' : [0, validate_int], # 0 to disable chunking;
+ # recommend about 20000 to
+ # enable. Experimental.
+ # key-mappings
+ 'keymap.fullscreen' : ['f', validate_stringlist], 
+ 'keymap.home' : [['h', 'r', 'home'], validate_stringlist],
+ 'keymap.back' : [['left', 'c', 'backspace'], validate_stringlist],
+ 'keymap.forward' : [['right', 'v'], validate_stringlist],
+ 'keymap.pan' : ['p', validate_stringlist],
+ 'keymap.zoom' : ['o', validate_stringlist], 
+ 'keymap.save' : ['s', validate_stringlist],
+ 'keymap.grid' : ['g', validate_stringlist],
+ 'keymap.yscale' : ['l', validate_stringlist],
+ 'keymap.xscale' : [['k', 'L'], validate_stringlist],
+ 'keymap.all_axes' : ['a', validate_stringlist]
+
 }
 
 if __name__ == '__main__':
Modified: trunk/matplotlib/matplotlibrc.template
===================================================================
--- trunk/matplotlib/matplotlibrc.template	2010年02月17日 02:43:26 UTC (rev 8139)
+++ trunk/matplotlib/matplotlibrc.template	2010年02月17日 15:25:38 UTC (rev 8140)
@@ -360,3 +360,20 @@
 # from matplotlib import verbose.
 #verbose.level : silent # one of silent, helpful, debug, debug-annoying
 #verbose.fileo : sys.stdout # a log filename, sys.stdout or sys.stderr
+
+# Event keys to interact with figures/plots via keyboard.
+# Customize these settings according to your needs. 
+# Leave the field(s) empty if you don't need a key-map. (i.e., fullscreen : '') 
+
+#keymap.fullscreen : f # toggling 
+#keymap.home : h, r, home # home or reset mnemonic
+#keymap.back : left, c, backspace # forward / backward keys to enable 
+#keymap.forward : right, v # left handed quick navigation
+#keymap.pan : p # pan mnemonic
+#keymap.zoom : o # zoom mnemonic
+#keymap.save : s # saving current figure
+#keymap.grid : g # switching on/off a grid in current axes
+#keymap.yscale : l # toggle scaling of y-axes ('log'/'linear')
+#keymap.xscale : L, k # toggle scaling of x-axes ('log'/'linear')
+#keymap.all_axes : a # enable all axes
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8139
 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8139&view=rev
Author: jdh2358
Date: 2010年02月17日 02:43:26 +0000 (2010年2月17日)
Log Message:
-----------
fixed some axes/axis doc typos
Modified Paths:
--------------
 trunk/matplotlib/doc/users/navigation_toolbar.rst
Modified: trunk/matplotlib/doc/users/navigation_toolbar.rst
===================================================================
--- trunk/matplotlib/doc/users/navigation_toolbar.rst	2010年02月17日 02:33:01 UTC (rev 8138)
+++ trunk/matplotlib/doc/users/navigation_toolbar.rst	2010年02月17日 02:43:26 UTC (rev 8139)
@@ -39,11 +39,11 @@
 the right mouse button to zoom, dragging it to a new position.
 The x axis will be zoomed in proportionate to the rightward
 movement and zoomed out proportionate to the leftward movement.
- Ditto for the yaxis and up/down motions. The point under your
+ Ditto for the y axis and up/down motions. The point under your
 mouse when you begin the zoom remains stationary, allowing you to
 zoom to an arbitrary point in the figure. You can use the
 modifier keys 'x', 'y' or 'CONTROL' to constrain the zoom to the x
- axes, the y axes, or aspect ratio preserve, respectively.
+ axis, the y axis, or aspect ratio preserve, respectively.
 
 With polar plots, the pan and zoom functionality behaves
 differently. The radius axis labels can be dragged using the left
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

Showing results of 58

1 2 3 > >> (Page 1 of 3)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /