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
|
|
From: <md...@us...> - 2010-02-26 16:27:29
|
Revision: 8160
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8160&view=rev
Author: mdboom
Date: 2010-02-26 16:27:22 +0000 (Fri, 26 Feb 2010)
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.
|
|
From: <js...@us...> - 2010-02-26 16:04:57
|
Revision: 8159
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8159&view=rev
Author: jswhit
Date: 2010-02-26 16:04:49 +0000 (Fri, 26 Feb 2010)
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 (Fri, 26 Feb 2010)
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 (Fri, 26 Feb 2010)
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.
|
|
From: <js...@us...> - 2010-02-25 15:57:21
|
Revision: 8156
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8156&view=rev
Author: jswhit
Date: 2010-02-25 15:57:15 +0000 (Thu, 25 Feb 2010)
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.
|
|
From: <js...@us...> - 2010-02-25 15:54:31
|
Revision: 8155
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8155&view=rev
Author: jswhit
Date: 2010-02-25 15:54:08 +0000 (Thu, 25 Feb 2010)
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 (Thu, 25 Feb 2010)
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 (Wed, 24 Feb 2010)
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 (Wed, 24 Feb 2010)
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 (Wed, 24 Feb 2010)
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 (Tue, 23 Feb 2010)
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 (Mon, 22 Feb 2010)
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 (Mon, 22 Feb 2010)
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 (Mon, 22 Feb 2010)
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 (Mon, 22 Feb 2010)
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.
|
|
From: <jd...@us...> - 2010-02-22 14:31:51
|
Revision: 8145
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8145&view=rev
Author: jdh2358
Date: 2010-02-22 14:31:45 +0000 (Mon, 22 Feb 2010)
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 (Mon, 22 Feb 2010)
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 (Mon, 22 Feb 2010)
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.
|
|
From: <md...@us...> - 2010-02-22 09:43:26
|
Revision: 8142
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8142&view=rev
Author: mdehoon
Date: 2010-02-22 09:43:19 +0000 (Mon, 22 Feb 2010)
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 (Thu, 18 Feb 2010)
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 (Wed, 17 Feb 2010)
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.
|
|
From: <jd...@us...> - 2010-02-17 02:43:33
|
Revision: 8139
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8139&view=rev
Author: jdh2358
Date: 2010-02-17 02:43:26 +0000 (Wed, 17 Feb 2010)
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.
|
|
From: <jd...@us...> - 2010-02-17 02:33:08
|
Revision: 8138
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8138&view=rev
Author: jdh2358
Date: 2010-02-17 02:33:01 +0000 (Wed, 17 Feb 2010)
Log Message:
-----------
added TJ's filled marker patch
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/matplotlib/lines.py
trunk/matplotlib/lib/matplotlib/path.py
Added Paths:
-----------
trunk/matplotlib/examples/pylab_examples/filledmarker_demo.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2010-02-17 02:15:13 UTC (rev 8137)
+++ trunk/matplotlib/CHANGELOG 2010-02-17 02:33:01 UTC (rev 8138)
@@ -1,3 +1,7 @@
+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
+
2010-02-11 Added 'bootstrap' option to boxplot. This allows bootstrap
estimates of median confidence intervals. Based on an
initial patch by Paul Hobson. - ADS
Added: trunk/matplotlib/examples/pylab_examples/filledmarker_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/filledmarker_demo.py (rev 0)
+++ trunk/matplotlib/examples/pylab_examples/filledmarker_demo.py 2010-02-17 02:33:01 UTC (rev 8138)
@@ -0,0 +1,38 @@
+import itertools
+
+import numpy as np
+import matplotlib.lines as mlines
+import matplotlib.pyplot as plt
+
+colors = itertools.cycle(['b', 'g', 'r', 'c', 'm', 'y', 'k'])
+altcolor = 'lightgreen'
+
+plt.rcParams['text.usetex'] = False # otherwise, '^' will cause trouble
+
+y = np.arange(10)
+for marker in mlines.Line2D.filled_markers:
+ f = plt.figure()
+ f.text(.5,.95, "marker = %r" % marker, ha='center')
+ for i,fs in enumerate(mlines.Line2D.fillStyles):
+ color = colors.next()
+
+ ax = f.add_subplot(121)
+ ax.plot(2*(4-i)+y, c=color,
+ marker=marker,
+ markersize=20,
+ fillstyle=fs,
+ label=fs)
+ ax.legend(loc=2)
+ ax.set_title('fillstyle')
+
+ ax = f.add_subplot(122)
+ ax.plot(2*(4-i)+y, c=color,
+ marker=marker,
+ markersize=20,
+ markerfacecoloralt=altcolor,
+ fillstyle=fs,
+ label=fs)
+ ax.legend(loc=2)
+ ax.set_title('fillstyle')
+
+plt.show()
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-02-17 02:15:13 UTC (rev 8137)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-02-17 02:33:01 UTC (rev 8138)
@@ -62,9 +62,21 @@
# Is fmt just a colorspec?
try:
color = mcolors.colorConverter.to_rgb(fmt)
- return linestyle, marker, color # Yes.
+
+ # We need to differentiate grayscale '1.0' from tri_down marker '1'
+ try:
+ fmtint = str(int(fmt))
+ except ValueError:
+ return linestyle, marker, color # Yes
+ else:
+ if fmt != fmtint:
+ # user definitely doesn't want tri_down marker
+ return linestyle, marker, color # Yes
+ else:
+ # ignore converted color
+ color = None
except ValueError:
- pass # No, not just a color.
+ pass # No, not just a color.
# handle the multi char special cases and strip them from the
# string
Modified: trunk/matplotlib/lib/matplotlib/lines.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/lines.py 2010-02-17 02:15:13 UTC (rev 8137)
+++ trunk/matplotlib/lib/matplotlib/lines.py 2010-02-17 02:33:01 UTC (rev 8138)
@@ -142,6 +142,8 @@
filled_markers = ('o', '^', 'v', '<', '>',
's', 'd', 'D', 'h', 'H', 'p', '*')
+ fillStyles = ('full', 'left' , 'right' , 'bottom' , 'top')
+
zorder = 2
validCap = ('butt', 'round', 'projecting')
validJoin = ('miter', 'round', 'bevel')
@@ -167,6 +169,7 @@
markeredgewidth = None,
markeredgecolor = None,
markerfacecolor = None,
+ markerfacecoloralt = 'none',
fillstyle = 'full',
antialiased = None,
dash_capstyle = None,
@@ -232,6 +235,7 @@
self.set_markerfacecolor(markerfacecolor)
+ self.set_markerfacecoloralt(markerfacecoloralt)
self.set_markeredgecolor(markeredgecolor)
self.set_markeredgewidth(markeredgewidth)
self.set_fillstyle(fillstyle)
@@ -336,7 +340,7 @@
ACCEPTS: ['full' | 'left' | 'right' | 'bottom' | 'top']
"""
- assert fs in ['full', 'left' , 'right' , 'bottom' , 'top']
+ assert fs in self.fillStyles
self._fillstyle = fs
def set_markevery(self, every):
@@ -586,18 +590,25 @@
return self._markeredgecolor
def get_markeredgewidth(self): return self._markeredgewidth
- def get_markerfacecolor(self):
- if (self._markerfacecolor is None or
- (is_string_like(self._markerfacecolor) and
- self._markerfacecolor.lower()=='none') ):
- return self._markerfacecolor
- elif (is_string_like(self._markerfacecolor) and
- self._markerfacecolor.lower() == 'auto'):
+ def _get_markerfacecolor(self, alt=False):
+ if alt:
+ fc = self._markerfacecoloralt
+ else:
+ fc = self._markerfacecolor
+
+ if (fc is None or (is_string_like(fc) and fc.lower()=='none') ):
+ return fc
+ elif (is_string_like(fc) and fc.lower() == 'auto'):
return self._color
else:
- return self._markerfacecolor
+ return fc
+ def get_markerfacecolor(self):
+ return self._get_markerfacecolor(alt=False)
+ def get_markerfacecoloralt(self):
+ return self._get_markerfacecolor(alt=True)
+
def get_markersize(self): return self._markersize
def get_data(self, orig=True):
@@ -820,14 +831,26 @@
def set_markerfacecolor(self, fc):
"""
- Set the marker face color
+ Set the marker face color.
ACCEPTS: any matplotlib color
"""
- if fc is None :
+ if fc is None:
fc = 'auto'
+
self._markerfacecolor = fc
+ def set_markerfacecoloralt(self, fc):
+ """
+ Set the alternate marker face color.
+
+ ACCEPTS: any matplotlib color
+ """
+ if fc is None:
+ fc = 'auto'
+
+ self._markerfacecoloralt = fc
+
def set_markersize(self, sz):
"""
Set the marker size in points
@@ -872,6 +895,7 @@
def _draw_lines(self, renderer, gc, path, trans):
self._lineFunc(renderer, gc, path, trans)
+
def _draw_mathtext_path(self, renderer, gc, path, trans):
"""
Draws mathtext markers '$...$' using TextPath object.
@@ -904,6 +928,7 @@
rgbFace = self._get_rgb_face()
renderer.draw_markers(gc, text, path_trans, path, trans, rgbFace)
+
def _draw_steps_pre(self, renderer, gc, path, trans):
vertices = self._xy
steps = ma.zeros((2*len(vertices)-1, 2), np.float_)
@@ -915,6 +940,7 @@
path = path.transformed(self.get_transform())
self._lineFunc(renderer, gc, path, IdentityTransform())
+
def _draw_steps_post(self, renderer, gc, path, trans):
vertices = self._xy
steps = ma.zeros((2*len(vertices)-1, 2), np.float_)
@@ -926,6 +952,7 @@
path = path.transformed(self.get_transform())
self._lineFunc(renderer, gc, path, IdentityTransform())
+
def _draw_steps_mid(self, renderer, gc, path, trans):
vertices = self._xy
steps = ma.zeros((2*len(vertices), 2), np.float_)
@@ -944,10 +971,12 @@
def _draw_nothing(self, *args, **kwargs):
pass
+
def _draw_solid(self, renderer, gc, path, trans):
gc.set_linestyle('solid')
renderer.draw_path(gc, path, trans)
+
def _draw_dashed(self, renderer, gc, path, trans):
gc.set_linestyle('dashed')
if self._dashSeq is not None:
@@ -967,100 +996,146 @@
def _draw_point(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
-
+ # just like _draw_circle
+ gc.set_snap(renderer.points_to_pixels(self._markersize) > 3.0)
w = renderer.points_to_pixels(self._markersize) * \
self._point_size_reduction * 0.5
- gc.set_snap(renderer.points_to_pixels(self._markersize) > 3.0)
+ transform = Affine2D().scale(w)
rgbFace = self._get_rgb_face()
- transform = Affine2D().scale(w)
- renderer.draw_markers(
- gc, Path.unit_circle(), transform, path, path_trans,
- rgbFace)
+ fs = self.get_fillstyle()
+ if fs=='full':
+ renderer.draw_markers(
+ gc, Path.unit_circle(), transform, path, path_trans, rgbFace)
+ else:
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ # build a right-half circle
+ if fs=='bottom': rotate = 270.
+ elif fs=='top': rotate = 90.
+ elif fs=='left': rotate = 180.
+ else: rotate = 0.
+ righthalf = Path.unit_circle_righthalf()
+ transform = transform.rotate_deg(rotate)
+ renderer.draw_markers(gc, righthalf, transform,
+ path, path_trans, rgbFace)
+ transform = transform.rotate_deg(180.)
+ renderer.draw_markers(gc, righthalf, transform,
+ path, path_trans, rgbFace_alt)
+
+
_draw_pixel_transform = Affine2D().translate(-0.5, -0.5)
def _draw_pixel(self, renderer, gc, path, path_trans):
+ gc.set_snap(False)
+ rgbFace = self._get_rgb_face()
fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
-
- rgbFace = self._get_rgb_face()
- gc.set_snap(False)
+ # There is no visible difference, so always paint it 'full'
renderer.draw_markers(gc, Path.unit_rectangle(),
self._draw_pixel_transform,
path, path_trans, rgbFace)
def _draw_circle(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
-
+ gc.set_snap(renderer.points_to_pixels(self._markersize) > 3.0)
w = renderer.points_to_pixels(self._markersize) * 0.5
- gc.set_snap(renderer.points_to_pixels(self._markersize) > 3.0)
+ transform = Affine2D().scale(w, w)
rgbFace = self._get_rgb_face()
- transform = Affine2D().scale(w, w)
- renderer.draw_markers(
- gc, Path.unit_circle(), transform, path, path_trans,
- rgbFace)
+ fs = self.get_fillstyle()
+ if fs=='full':
+ renderer.draw_markers(gc, Path.unit_circle(), transform,
+ path, path_trans, rgbFace)
+ else:
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ # build a right-half circle
+ if fs=='bottom': rotate = 270.
+ elif fs=='top': rotate = 90.
+ elif fs=='left': rotate = 180.
+ else: rotate = 0.
+ righthalf = Path.unit_circle_righthalf()
+ transform = transform.rotate_deg(rotate)
+ renderer.draw_markers(gc, righthalf, transform,
+ path, path_trans, rgbFace)
+ transform = transform.rotate_deg(180.)
+ renderer.draw_markers(gc, righthalf, transform,
+ path, path_trans, rgbFace_alt)
+
_triangle_path = Path([[0.0, 1.0], [-1.0, -1.0], [1.0, -1.0], [0.0, 1.0]])
- def _draw_triangle_up(self, renderer, gc, path, path_trans):
-
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
-
+ # Going down halfway looks to small. Golden ratio is too far.
+ _triangle_path_u = Path([[0.0, 1.0], [-3/5., -1/5.], [3/5., -1/5.], [0.0, 1.0]])
+ _triangle_path_d = Path([[-3/5., -1/5.], [3/5., -1/5.], [1.0, -1.0], [-1.0, -1.0], [-3/5., -1/5.]])
+ _triangle_path_l = Path([[0.0, 1.0], [0.0, -1.0], [-1.0, -1.0], [0.0, 1.0]])
+ _triangle_path_r = Path([[0.0, 1.0], [0.0, -1.0], [1.0, -1.0], [0.0, 1.0]])
+ def _draw_triangle(self, renderer, gc, path, path_trans, direction):
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
offset = 0.5*renderer.points_to_pixels(self._markersize)
- transform = Affine2D().scale(offset, offset)
+ assert direction in ['up', 'down', 'left', 'right']
+ if direction == 'up':
+ x,y = offset, offset
+ rot = 0.0
+ skip = 0
+ elif direction == 'down':
+ x,y = offset, offset
+ rot = 180.0
+ skip = 2
+ elif direction == 'left':
+ x,y = offset, offset
+ rot = 90.0
+ skip = 3
+ else:
+ x,y = offset, offset
+ rot = 270.0
+ skip = 1
+ transform = Affine2D().scale(x,y).rotate_deg(rot)
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, self._triangle_path, transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ if fs=='full':
+ renderer.draw_markers(gc, self._triangle_path, transform,
+ path, path_trans, rgbFace)
+ else:
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ mpaths = [self._triangle_path_u,
+ self._triangle_path_l,
+ self._triangle_path_d,
+ self._triangle_path_r]
+
+ if fs=='top':
+ mpath = mpaths[(0+skip) % 4]
+ mpath_alt = mpaths[(2+skip) % 4]
+ elif fs=='bottom':
+ mpath = mpaths[(2+skip) % 4]
+ mpath_alt = mpaths[(0+skip) % 4]
+ elif fs=='left':
+ mpath = mpaths[(1+skip) % 4]
+ mpath_alt = mpaths[(3+skip) % 4]
+ else:
+ mpath = mpaths[(3+skip) % 4]
+ mpath_alt = mpaths[(1+skip) % 4]
+
+ renderer.draw_markers(gc, mpath, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, mpath_alt, transform,
+ path, path_trans, rgbFace_alt)
+
+
+ def _draw_triangle_up(self, renderer, gc, path, path_trans):
+ self._draw_triangle(renderer, gc, path, path_trans, 'up')
+
+
def _draw_triangle_down(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
+ self._draw_triangle(renderer, gc, path, path_trans, 'down')
- gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
- offset = 0.5*renderer.points_to_pixels(self._markersize)
- transform = Affine2D().scale(offset, -offset)
- rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, self._triangle_path, transform,
- path, path_trans, rgbFace)
-
def _draw_triangle_left(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
+ self._draw_triangle(renderer, gc, path, path_trans, 'left')
- gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
- offset = 0.5*renderer.points_to_pixels(self._markersize)
- transform = Affine2D().scale(offset, offset).rotate_deg(90)
- rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, self._triangle_path, transform,
- path, path_trans, rgbFace)
-
def _draw_triangle_right(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
+ self._draw_triangle(renderer, gc, path, path_trans, 'right')
- gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
- offset = 0.5*renderer.points_to_pixels(self._markersize)
- transform = Affine2D().scale(offset, offset).rotate_deg(-90)
- rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, self._triangle_path, transform,
- path, path_trans, rgbFace)
-
def _draw_square(self, renderer, gc, path, path_trans):
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 2.0)
side = renderer.points_to_pixels(self._markersize)
@@ -1071,6 +1146,7 @@
renderer.draw_markers(gc, Path.unit_rectangle(), transform,
path, path_trans, rgbFace)
else:
+ rgbFace_alt = self._get_rgb_face(alt=True)
# build a bottom filled square out of two rectangles, one
# filled. Use the rotation to support left, right, bottom
# or top
@@ -1080,86 +1156,226 @@
else: rotate = 90.
bottom = Path([[0.0, 0.0], [1.0, 0.0], [1.0, 0.5], [0.0, 0.5], [0.0, 0.0]])
- top = Path([[0.0, 0.5], [1.0, 0.5], [1.0, 1.0], [0.0, 1.0], [0.0, 0.05]])
+ top = Path([[0.0, 0.5], [1.0, 0.5], [1.0, 1.0], [0.0, 1.0], [0.0, 0.5]])
transform = transform.rotate_deg(rotate)
renderer.draw_markers(gc, bottom, transform,
path, path_trans, rgbFace)
renderer.draw_markers(gc, top, transform,
- path, path_trans, None)
+ path, path_trans, rgbFace_alt)
+
def _draw_diamond(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
side = renderer.points_to_pixels(self._markersize)
transform = Affine2D().translate(-0.5, -0.5).rotate_deg(45).scale(side)
+
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, Path.unit_rectangle(), transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ if fs=='full':
+ renderer.draw_markers(gc, Path.unit_rectangle(), transform,
+ path, path_trans, rgbFace)
+ else:
+ right = Path([[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 0.0]])
+ left = Path([[0.0, 0.0], [0.0, 1.0], [1.0, 1.0], [0.0, 0.0]])
+ if fs=='bottom': rotate = 270.
+ elif fs=='top': rotate = 90.
+ elif fs=='left': rotate = 180.
+ else: rotate = 0.
+ transform = transform.rotate_deg(rotate)
+ rgbFace_alt = self._get_rgb_face(alt=True)
+
+ renderer.draw_markers(gc, right, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, left, transform,
+ path, path_trans, rgbFace_alt)
+
+
def _draw_thin_diamond(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 3.0)
offset = renderer.points_to_pixels(self._markersize)
transform = Affine2D().translate(-0.5, -0.5) \
- .rotate_deg(45).scale(offset * 0.6, offset)
+ .rotate_deg(45)
+
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, Path.unit_rectangle(), transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ if fs=='full':
+ transform = transform.scale(offset * 0.6, offset)
+ renderer.draw_markers(gc, Path.unit_rectangle(), transform,
+ path, path_trans, rgbFace)
+ else:
+ right = Path([[0.0, 0.0], [1.0, 0.0], [1.0, 1.0], [0.0, 0.0]])
+ left = Path([[0.0, 0.0], [0.0, 1.0], [1.0, 1.0], [0.0, 0.0]])
+ if fs=='bottom': rotate = 270.
+ elif fs=='top': rotate = 90.
+ elif fs=='left': rotate = 180.
+ else: rotate = 0.
+ # scale after rotation
+ transform = transform.rotate_deg(rotate).scale(offset * 0.6, offset)
+ rgbFace_alt = self._get_rgb_face(alt=True)
+
+ renderer.draw_markers(gc, right, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, left, transform,
+ path, path_trans, rgbFace_alt)
+
+
def _draw_pentagon(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
offset = 0.5 * renderer.points_to_pixels(self._markersize)
transform = Affine2D().scale(offset)
+
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, Path.unit_regular_polygon(5), transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ polypath = Path.unit_regular_polygon(5)
+
+ if fs == 'full':
+ renderer.draw_markers(gc, polypath, transform,
+ path, path_trans, rgbFace)
+ else:
+ verts = polypath.vertices
+
+ y = (1+np.sqrt(5))/4.
+ top = Path([verts[0], verts[1], verts[4], verts[0]])
+ bottom = Path([verts[1], verts[2], verts[3], verts[4], verts[1]])
+ left = Path([verts[0], verts[1], verts[2], [0,-y], verts[0]])
+ right = Path([verts[0], verts[4], verts[3], [0,-y], verts[0]])
+
+ if fs == 'top':
+ mpath, mpath_alt = top, bottom
+ elif fs == 'bottom':
+ mpath, mpath_alt = bottom, top
+ elif fs == 'left':
+ mpath, mpath_alt = left, right
+ else:
+ mpath, mpath_alt = right, left
+
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ renderer.draw_markers(gc, mpath, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, mpath_alt, transform,
+ path, path_trans, rgbFace_alt)
+
+
def _draw_star(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
offset = 0.5 * renderer.points_to_pixels(self._markersize)
transform = Affine2D().scale(offset)
+
rgbFace = self._get_rgb_face()
- _starpath = Path.unit_regular_star(5, innerCircle=0.381966)
- renderer.draw_markers(gc, _starpath, transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ polypath = Path.unit_regular_star(5, innerCircle=0.381966)
+ if fs == 'full':
+ renderer.draw_markers(gc, polypath, transform,
+ path, path_trans, rgbFace)
+ else:
+ verts = polypath.vertices
+
+ top = Path(np.vstack((verts[0:4,:], verts[7:10,:], verts[0])))
+ bottom = Path(np.vstack((verts[3:8,:], verts[3])))
+ left = Path(np.vstack((verts[0:6,:], verts[0])))
+ right = Path(np.vstack((verts[0], verts[5:10,:], verts[0])))
+
+ if fs == 'top':
+ mpath, mpath_alt = top, bottom
+ elif fs == 'bottom':
+ mpath, mpath_alt = bottom, top
+ elif fs == 'left':
+ mpath, mpath_alt = left, right
+ else:
+ mpath, mpath_alt = right, left
+
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ renderer.draw_markers(gc, mpath, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, mpath_alt, transform,
+ path, path_trans, rgbFace_alt)
+
+
def _draw_hexagon1(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
- gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
+ gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
offset = 0.5 * renderer.points_to_pixels(self._markersize)
transform = Affine2D().scale(offset)
+
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, Path.unit_regular_polygon(6), transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ polypath = Path.unit_regular_polygon(6)
+ if fs == 'full':
+ renderer.draw_markers(gc, polypath, transform,
+ path, path_trans, rgbFace)
+ else:
+ verts = polypath.vertices
+
+ # not drawing inside lines
+ x = abs(np.cos(5*np.pi/6.))
+ top = Path(np.vstack(([-x,0],verts[(1,0,5),:],[x,0])))
+ bottom = Path(np.vstack(([-x,0],verts[2:5,:],[x,0])))
+ left = Path(verts[(0,1,2,3),:])
+ right = Path(verts[(0,5,4,3),:])
+
+ if fs == 'top':
+ mpath, mpath_alt = top, bottom
+ elif fs == 'bottom':
+ mpath, mpath_alt = bottom, top
+ elif fs == 'left':
+ mpath, mpath_alt = left, right
+ else:
+ mpath, mpath_alt = right, left
+
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ renderer.draw_markers(gc, mpath, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, mpath_alt, transform,
+ path, path_trans, rgbFace_alt)
+
+
def _draw_hexagon2(self, renderer, gc, path, path_trans):
- fs = self.get_fillstyle()
- if fs!='full':
- raise NotImplementedError('non-full markers have not been implemented for this marker style yet; please contribute')
- gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
+ gc.set_snap(renderer.points_to_pixels(self._markersize) >= 5.0)
offset = 0.5 * renderer.points_to_pixels(self._markersize)
transform = Affine2D().scale(offset).rotate_deg(30)
+
rgbFace = self._get_rgb_face()
- renderer.draw_markers(gc, Path.unit_regular_polygon(6), transform,
- path, path_trans, rgbFace)
+ fs = self.get_fillstyle()
+ polypath = Path.unit_regular_polygon(6)
+ if fs == 'full':
+ renderer.draw_markers(gc, polypath, transform,
+ path, path_trans, rgbFace)
+ else:
+ verts = polypath.vertices
+
+ # not drawing inside lines
+ x, y = np.sqrt(3)/4, 3/4.
+ top = Path(verts[(1,0,5,4,1),:])
+ bottom = Path(verts[(1,2,3,4),:])
+ left = Path(np.vstack(([x,y],verts[(0,1,2),:],[-x,-y],[x,y])))
+ right = Path(np.vstack(([x,y],verts[(5,4,3),:],[-x,-y])))
+
+ if fs == 'top':
+ mpath, mpath_alt = top, bottom
+ elif fs == 'bottom':
+ mpath, mpath_alt = bottom, top
+ elif fs == 'left':
+ mpath, mpath_alt = left, right
+ else:
+ mpath, mpath_alt = right, left
+
+ rgbFace_alt = self._get_rgb_face(alt=True)
+ renderer.draw_markers(gc, mpath, transform,
+ path, path_trans, rgbFace)
+ renderer.draw_markers(gc, mpath_alt, transform,
+ path, path_trans, rgbFace_alt)
+
+
_line_marker_path = Path([[0.0, -1.0], [0.0, 1.0]])
def _draw_vline(self, renderer, gc, path, path_trans):
gc.set_snap(renderer.points_to_pixels(self._markersize) >= 1.0)
@@ -1314,6 +1530,7 @@
self._color = other._color
self._markersize = other._markersize
self._markerfacecolor = other._markerfacecolor
+ self._markerfacecoloralt = other._markerfacecoloralt
self._markeredgecolor = other._markeredgecolor
self._markeredgewidth = other._markeredgewidth
self._fillstyle = other._fillstyle
@@ -1329,8 +1546,8 @@
self._drawstyle = other._drawstyle
- def _get_rgb_face(self):
- facecolor = self.get_markerfacecolor()
+ def _get_rgb_face(self, alt=False):
+ facecolor = self._get_markerfacecolor(alt=alt)
if is_string_like(facecolor) and facecolor.lower()=='none':
rgbFace = None
else:
@@ -1369,8 +1586,11 @@
def set_mfc(self, val):
'alias for set_markerfacecolor'
- self.set_markerfacecolor(val)
+ self.set_markerfacecolor(val, alt=alt)
+ def set_mfcalt(self, val):
+ 'alias for set_markerfacecoloralt'
+ self.set_markerfacecoloralt(val)
def set_ms(self, val):
'alias for set_markersize'
@@ -1409,6 +1629,9 @@
'alias for get_markerfacecolor'
return self.get_markerfacecolor()
+ def get_mfcalt(self, alt=False):
+ 'alias for get_markerfacecoloralt'
+ return self.get_markerfacecoloralt()
def get_ms(self):
'alias for get_markersize'
@@ -1577,6 +1800,7 @@
lineStyles = Line2D._lineStyles
lineMarkers = Line2D._markers
drawStyles = Line2D.drawStyles
+fillStyles = Line2D.fillStyles
docstring.interpd.update(Line2D = artist.kwdoc(Line2D))
Modified: trunk/matplotlib/lib/matplotlib/path.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/path.py 2010-02-17 02:15:13 UTC (rev 8137)
+++ trunk/matplotlib/lib/matplotlib/path.py 2010-02-17 02:33:01 UTC (rev 8138)
@@ -500,7 +500,55 @@
cls._unit_circle = cls(vertices, codes)
return cls._unit_circle
+ _unit_circle_righthalf = None
+
@classmethod
+ def unit_circle_righthalf(cls):
+ """
+ (staticmethod) Returns a :class:`Path` of the right half
+ of a unit circle. The circle is approximated using cubic Bezier
+ curves. This uses 4 splines around the circle using the approach
+ presented here:
+
+ Lancaster, Don. `Approximating a Circle or an Ellipse Using Four
+ Bezier Cubic Splines <http://www.tinaja.com/glib/ellipse4.pdf>`_.
+ """
+ if cls._unit_circle_righthalf is None:
+ MAGIC = 0.2652031
+ SQRTHALF = np.sqrt(0.5)
+ MAGIC45 = np.sqrt((MAGIC*MAGIC) / 2.0)
+
+ vertices = np.array(
+ [[0.0, -1.0],
+
+ [MAGIC, -1.0],
+ [SQRTHALF-MAGIC45, -SQRTHALF-MAGIC45],
+ [SQRTHALF, -SQRTHALF],
+
+ [SQRTHALF+MAGIC45, -SQRTHALF+MAGIC45],
+ [1.0, -MAGIC],
+ [1.0, 0.0],
+
+ [1.0, MAGIC],
+ [SQRTHALF+MAGIC45, SQRTHALF-MAGIC45],
+ [SQRTHALF, SQRTHALF],
+
+ [SQRTHALF-MAGIC45, SQRTHALF+MAGIC45],
+ [MAGIC, 1.0],
+ [0.0, 1.0],
+
+ [0.0, -1.0]],
+
+ np.float_)
+
+ codes = cls.CURVE4 * np.ones(14)
+ codes[0] = cls.MOVETO
+ codes[-1] = cls.CLOSEPOLY
+
+ cls._unit_circle_righthalf = cls(vertices, codes)
+ return cls._unit_circle_righthalf
+
+ @classmethod
def arc(cls, theta1, theta2, n=None, is_wedge=False):
"""
(staticmethod) Returns an arc on the unit circle from angle
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-02-17 02:15:21
|
Revision: 8137
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8137&view=rev
Author: mdehoon
Date: 2010-02-17 02:15:13 +0000 (Wed, 17 Feb 2010)
Log Message:
-----------
Fixing a compiler warning.
Modified Paths:
--------------
trunk/matplotlib/src/_macosx.m
Modified: trunk/matplotlib/src/_macosx.m
===================================================================
--- trunk/matplotlib/src/_macosx.m 2010-02-16 23:09:50 UTC (rev 8136)
+++ trunk/matplotlib/src/_macosx.m 2010-02-17 02:15:13 UTC (rev 8137)
@@ -4468,7 +4468,7 @@
self = [super initWithFrame: rect];
rubberband = NSZeroRect;
inside = false;
- tracking = nil;
+ tracking = 0;
return self;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lee...@us...> - 2010-02-16 23:09:57
|
Revision: 8136
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8136&view=rev
Author: leejjoon
Date: 2010-02-16 23:09:50 +0000 (Tue, 16 Feb 2010)
Log Message:
-----------
Merged revisions 8121,8135 via svnmerge from
https://matplotlib.svn.sourceforge.net/svnroot/matplotlib/branches/v0_99_maint
........
r8121 | jdh2358 | 2010-02-08 12:50:27 -0500 (Mon, 08 Feb 2010) | 1 line
added Ariels csd patch for proper scaling at the dc component
........
r8135 | leejjoon | 2010-02-16 17:55:27 -0500 (Tue, 16 Feb 2010) | 1 line
fix a bug in Text._get_layout that returns an incorrect information for an empty string
........
Modified Paths:
--------------
trunk/matplotlib/doc/faq/installing_faq.rst
trunk/matplotlib/doc/glossary/index.rst
trunk/matplotlib/doc/users/installing.rst
trunk/matplotlib/lib/matplotlib/mlab.py
trunk/matplotlib/lib/matplotlib/text.py
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_99_maint:1-8116
+ /branches/mathtex:1-7263 /branches/v0_99_maint:1-8135
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
+ /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
Modified: trunk/matplotlib/doc/faq/installing_faq.rst
===================================================================
--- trunk/matplotlib/doc/faq/installing_faq.rst 2010-02-16 22:55:27 UTC (rev 8135)
+++ trunk/matplotlib/doc/faq/installing_faq.rst 2010-02-16 23:09:50 UTC (rev 8136)
@@ -146,11 +146,11 @@
others in web application servers to dynamically serve up graphs.
To support all of these use cases, matplotlib can target different
-outputs, and each of these capabililities is called a backend (the
+outputs, and each of these capabililities is called a backend; the
"frontend" is the user facing code, ie the plotting code, whereas the
"backend" does all the dirty work behind the scenes to make the
figure. There are two types of backends: user interface backends (for
-use in pygtk, wxpython, tkinter, qt or fltk) and hardcopy backends to
+use in pygtk, wxpython, tkinter, qt, macosx, or fltk) and hardcopy backends to
make image files (PNG, SVG, PDF, PS).
There are a two primary ways to configure your backend. One is to set
@@ -183,10 +183,10 @@
renderer for user interfaces is ``Agg`` which uses the `antigrain
<http://antigrain.html>`_ C++ library to make a raster (pixel) image
of the figure. All of the user interfaces can be used with agg
-rendering, eg ``WXAgg``, ``GTKAgg``, ``QTAgg``, ``TkAgg``. In
-addition, some of the user interfaces support other rendering engines.
-For example, with GTK, you can also select GDK rendering (backend
-``GTK``) or Cairo rendering (backend ``GTKCairo``).
+rendering, eg ``WXAgg``, ``GTKAgg``, ``QTAgg``, ``TkAgg``,
+``CocoaAgg``. In addition, some of the user interfaces support other
+rendering engines. For example, with GTK, you can also select GDK
+rendering (backend ``GTK``) or Cairo rendering (backend ``GTKCairo``).
For the rendering engines, one can also distinguish between `vector
<http://en.wikipedia.org/wiki/Vector_graphics>`_ or `raster
@@ -238,6 +238,7 @@
QtAgg Agg rendering to a :term:`Qt` canvas (requires PyQt_)
Qt4Agg Agg rendering to a :term:`Qt4` canvas (requires PyQt4_)
FLTKAgg Agg rendering to a :term:`FLTK` canvas (requires pyFLTK_)
+macosx Cocoa rendering in OSX windows
============ ================================================================
.. _`Anti-Grain Geometry`: http://www.antigrain.com/
Modified: trunk/matplotlib/doc/glossary/index.rst
===================================================================
--- trunk/matplotlib/doc/glossary/index.rst 2010-02-16 22:55:27 UTC (rev 8135)
+++ trunk/matplotlib/doc/glossary/index.rst 2010-02-16 23:09:50 UTC (rev 8136)
@@ -14,6 +14,11 @@
Cairo
The `Cairo graphics <http://cairographics.org>`_ engine
+
+ dateutil
+ The `dateutil <http://labix.org/python-dateutil>`_ library
+ provides extensions to the standard datetime module
+
EPS
Encapsulated Postscript (`EPS <http://en.wikipedia.org/wiki/Encapsulated_PostScript>`_)
@@ -86,6 +91,14 @@
language widely used for scripting, application development, web
application servers, scientific computing and more.
+
+ pytz
+ `pytz <http://pytz.sourceforge.net/>`_ provides the Olson tz
+ database in Python. it allows accurate and cross platform
+ timezone calculations and solves the issue of ambiguous times at
+ the end of daylight savings
+
+
Qt
`Qt <http://trolltech.com/products/qt/>`__ is a cross-platform
application framework for desktop and embedded development.
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
+ /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
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
+ /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
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
+ /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
Modified: trunk/matplotlib/doc/users/installing.rst
===================================================================
--- trunk/matplotlib/doc/users/installing.rst 2010-02-16 22:55:27 UTC (rev 8135)
+++ trunk/matplotlib/doc/users/installing.rst 2010-02-16 23:09:50 UTC (rev 8136)
@@ -44,11 +44,30 @@
matplotlib requires numpy version 1.1 or later. Although it is not a
requirement to use matplotlib, we strongly encourage you to install
`ipython <http://ipython.scipy.org/dist>`_, which is an interactive
-shell for python that is matplotlib aware. Once you have ipython,
-numpy and matplotlib installed, in ipython's "pylab" mode you have a
-matlab-like environment that automatically handles most of the
-configuration details for you, so you can get up and running quickly::
+shell for python that is matplotlib aware.
+Next we need to get matplotlib installed. We provide prebuilt
+binaries for OS X and Windows on the matplotlib `download
+<http://sourceforge.net/projects/matplotlib/files/>`_ page. Click on
+the latest release of the "matplotlib" package, choose your python
+version (2.5 or 2.6) and your platform (macosx or win32) and you
+should be good to go. If you have any problems, please check the
+:ref:`installing-faq`, google around a little bit, and post a question
+the `mailing list
+<http://sourceforge.net/project/showfiles.php?group_id=80706>`_. If
+you are on debian/unbuntu linux, it suffices to do::
+
+ > sudo apt-get install python-matplotlib
+
+Instructions for installing our OSX binaries are found in the FAQ
+:ref:`install_osx_binaries`.
+
+
+Once you have ipython, numpy and matplotlib installed, in ipython's
+"pylab" mode you have a matlab-like environment that automatically
+handles most of the configuration details for you, so you can get up
+and running quickly::
+
johnh@flag:~> ipython -pylab
Python 2.4.5 (#4, Apr 12 2008, 09:09:16)
IPython 0.9.0 -- An enhanced Interactive Python.
@@ -60,20 +79,6 @@
In [2]: hist(x, 100)
-And a *voila*, a figure pops up. But we are putting the cart ahead of
-the horse -- first we need to get matplotlib installed. We provide
-prebuilt binaries for OS X and Windows on the matplotlib `download
-<http://sourceforge.net/projects/matplotlib/files/>`_ page. Click on
-the latest release of the "matplotlib" package, choose your python
-version (2.4 or 2.5) and your platform (macosx or win32) and you
-should be good to go. If you have any problems, please check the
-:ref:`installing-faq`, google around a little bit, and post a question
-the `mailing list
-<http://sourceforge.net/project/showfiles.php?group_id=80706>`_.
-
-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
@@ -85,9 +90,9 @@
======================
If you are interested perhaps in contributing to matplotlib
-development, or just like to build everything yourself, it is not
-difficult to build matplotlib from source. Grab the latest *tar.gz*
-release file from `sourceforge
+development, running the latest greatest code, or just like to
+build everything yourself, it is not difficult to build matplotlib
+from source. Grab the latest *tar.gz* release file from `sourceforge
<http://sourceforge.net/project/showfiles.php?group_id=80706>`_, or if
you want to develop matplotlib or just need the latest bugfixed
version, grab the latest svn version :ref:`install-svn`.
@@ -173,17 +178,17 @@
agg template source statically, so it will not affect anything on
your system outside of matplotlib.
-pytz 2007g or later
+:term:`pytz` 2007g or later
timezone handling for python datetime objects. By default,
matplotlib will install pytz if it isn't already installed on your
- system. To override the default, use setup.cfg to force or
+ system. To override the default, use :file:`setup.cfg to force or
prevent installation of pytz.
-dateutil 1.1 or later
- extensions to python datetime handling. By
- default, matplotlib will install dateutil if it isn't already
- installed on your system. To override the default, use setup.cfg
- to force or prevent installation of dateutil.
+:term:`dateutil` 1.1 or later
+ provides extensions to python datetime handling. By default, matplotlib
+ will install dateutil if it isn't already installed on your
+ system. To override the default, use :file:`setup.cfg` to force
+ or prevent installation of dateutil.
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
+ /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
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
+ /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
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
+ /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
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
+ /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
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
+ /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
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
+ /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
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
+ /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
Modified: trunk/matplotlib/lib/matplotlib/mlab.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mlab.py 2010-02-16 22:55:27 UTC (rev 8135)
+++ trunk/matplotlib/lib/matplotlib/mlab.py 2010-02-16 23:09:50 UTC (rev 8136)
@@ -277,10 +277,18 @@
Pxy[:,i] = np.conjugate(fx[:numFreqs]) * fy[:numFreqs]
# Scale the spectrum by the norm of the window to compensate for
- # windowing loss; see Bendat & Piersol Sec 11.5.2. Also include
- # scaling factors for one-sided densities and dividing by the sampling
- # frequency, if desired.
- Pxy *= scaling_factor / (np.abs(windowVals)**2).sum()
+ # windowing loss; see Bendat & Piersol Sec 11.5.2.
+ Pxy *= 1 / (np.abs(windowVals)**2).sum()
+
+ # Also include scaling factors for one-sided densities and dividing by the
+ # sampling frequency, if desired. Scale everything, except the DC component
+ # and the NFFT/2 component:
+ Pxy[1:-1] *= scaling_factor
+
+ #But do scale those components by Fs, if required
+ if scale_by_freq:
+ Pxy[[0,-1]] /= Fs
+
t = 1./Fs * (ind + NFFT / 2.)
freqs = float(Fs) / pad_to * np.arange(numFreqs)
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
+ /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
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
+ /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
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
+ /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
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
+ /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
Modified: trunk/matplotlib/lib/matplotlib/text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/text.py 2010-02-16 22:55:27 UTC (rev 8135)
+++ trunk/matplotlib/lib/matplotlib/text.py 2010-02-16 23:09:50 UTC (rev 8136)
@@ -300,9 +300,13 @@
baseline = None
for i, line in enumerate(lines):
clean_line, ismath = self.is_math_text(line)
- w, h, d = get_text_width_height_descent(clean_line,
- self._fontproperties,
- ismath=ismath)
+ if clean_line:
+ w, h, d = get_text_width_height_descent(clean_line,
+ self._fontproperties,
+ ismath=ismath)
+ else:
+ w, h, d = 0, 0, 0
+
if baseline is None:
baseline = h - d
whs[i] = w, h
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|