Revision: 4668
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4668&view=rev
Author: mdboom
Date: 2007-12-07 11:09:52 -0800 (Fri, 07 Dec 2007)
Log Message:
-----------
Merged revisions 4634-4652 via svnmerge from
http://matplotlib.svn.sf.net/svnroot/matplotlib/trunk/matplotlib
........
r4636 | jrevans | 2007-12-05 19:04:49 -0500 (Wed, 05 Dec 2007) | 2 lines
Added a 'data offset' coordinate to the Annotation class.
........
r4637 | jrevans | 2007-12-05 19:09:49 -0500 (Wed, 05 Dec 2007) | 2 lines
Submitted the wrong version. This is the correct one.
........
r4638 | jdh2358 | 2007-12-05 21:36:05 -0500 (Wed, 05 Dec 2007) | 1 line
changed offset naming for annotations
........
r4640 | mdboom | 2007-12-06 07:48:16 -0500 (Thu, 06 Dec 2007) | 2 lines
Import numpy.
........
r4643 | mdboom | 2007-12-06 10:10:15 -0500 (Thu, 06 Dec 2007) | 2 lines
Fixing display of float images.
........
r4644 | jrevans | 2007-12-06 11:11:17 -0500 (Thu, 06 Dec 2007) | 2 lines
Updated to demonstrate 'offset points'
........
r4645 | dsdale | 2007-12-06 11:23:58 -0500 (Thu, 06 Dec 2007) | 3 lines
modified svn:ignore properties to ignore generated files
not under revision control
........
r4647 | dsdale | 2007-12-06 12:47:46 -0500 (Thu, 06 Dec 2007) | 2 lines
fixed a bug in rcsetup, see bug 1845057
........
r4648 | dsdale | 2007-12-06 13:08:21 -0500 (Thu, 06 Dec 2007) | 3 lines
changed the default backend in rcsetup from WXAgg, which
is not certain to be present, to Agg.
........
r4649 | dsdale | 2007-12-06 13:32:44 -0500 (Thu, 06 Dec 2007) | 4 lines
fixed a bug in savefig, saving to a nonexistent directory
would result in a crash in some circumstances. Closes bug
1699614
........
r4650 | dsdale | 2007-12-06 13:38:55 -0500 (Thu, 06 Dec 2007) | 2 lines
undo that last change, mdboom had a different solution that I overlooked
........
r4651 | mdboom | 2007-12-06 13:47:50 -0500 (Thu, 06 Dec 2007) | 2 lines
Fix saving to a file-like object.
........
Modified Paths:
--------------
branches/transforms/CHANGELOG
branches/transforms/examples/annotation_demo.py
branches/transforms/lib/matplotlib/__init__.py
branches/transforms/lib/matplotlib/cbook.py
branches/transforms/lib/matplotlib/cm.py
branches/transforms/lib/matplotlib/rcsetup.py
branches/transforms/lib/matplotlib/text.py
branches/transforms/src/_backend_agg.cpp
Property Changed:
----------------
branches/transforms/
branches/transforms/examples/
branches/transforms/lib/
branches/transforms/lib/matplotlib/mpl-data/
branches/transforms/unit/
Property changes on: branches/transforms
___________________________________________________________________
Name: svn:ignore
-
build
dist
docs
*.pyc
.project
matplotlibrc
win32_static
+ build
dist
docs
*.pyc
.project
matplotlibrc
win32_static
setup.cfg
Name: svnmerge-integrated
- /trunk/matplotlib:1-4633
+ /trunk/matplotlib:1-4652
Modified: branches/transforms/CHANGELOG
===================================================================
--- branches/transforms/CHANGELOG 2007-12-07 19:05:11 UTC (rev 4667)
+++ branches/transforms/CHANGELOG 2007-12-07 19:09:52 UTC (rev 4668)
@@ -1,3 +1,5 @@
+2007-12-06 fixed a bug in rcsetup, see bug 1845057 - DSD
+
===============================================================
2007-11-27 Released 0.91.1 at revision 4517
Property changes on: branches/transforms/examples
___________________________________________________________________
Name: svn:ignore
- *.eps
*.jpeg
*.jpg
*.pdf
*.png
*.ps
*.pyc
*.svg
+ matplotlibrc
matplotlib.conf
*.eps
*.jpeg
*.jpg
*.pdf
*.png
*.ps
*.pyc
*.svg
Modified: branches/transforms/examples/annotation_demo.py
===================================================================
--- branches/transforms/examples/annotation_demo.py 2007-12-07 19:05:11 UTC
(rev 4667)
+++ branches/transforms/examples/annotation_demo.py 2007-12-07 19:09:52 UTC
(rev 4668)
@@ -10,6 +10,7 @@
'axes points' : points from lower left corner of axes
'axes pixels' : pixels from lower left corner of axes
'axes fraction' : 0,1 is lower left of axes and 1,1 is upper right
+ 'offset points' : Specify an offset (in points) from the xy value
'data' : use the axes data coordinate system
Optionally, you can specify arrow properties which draws and arrow
@@ -54,6 +55,12 @@
ax.annotate('points', xy=(100, 300), xycoords='figure points')
+ ax.annotate('offset', xy=(1, 1), xycoords='data',
+ xytext=(-15, 10), textcoords='offset points',
+ arrowprops=dict(facecolor='black', shrink=0.05),
+ horizontalalignment='right', verticalalignment='bottom',
+ )
+
ax.annotate('local max', xy=(3, 1), xycoords='data',
xytext=(0.8, 0.95), textcoords='axes fraction',
arrowprops=dict(facecolor='black', shrink=0.05),
Property changes on: branches/transforms/lib
___________________________________________________________________
Name: svn:ignore
+ matplotlib.egg-info
Modified: branches/transforms/lib/matplotlib/__init__.py
===================================================================
--- branches/transforms/lib/matplotlib/__init__.py 2007-12-07 19:05:11 UTC
(rev 4667)
+++ branches/transforms/lib/matplotlib/__init__.py 2007-12-07 19:09:52 UTC
(rev 4668)
@@ -615,6 +615,15 @@
if ret['datapath'] is None:
ret['datapath'] = get_data_path()
+ if not ret['text.latex.preamble'] == ['']:
+ verbose.report("""
+*****************************************************************
+You have the following UNSUPPORTED LaTeX preamble customizations:
+%s
+Please do not ask for support with these customizations active.
+*****************************************************************
+"""% '\n'.join(ret['text.latex.preamble']), 'helpful')
+
verbose.report('loaded rc file %s'%fname)
return ret
Modified: branches/transforms/lib/matplotlib/cbook.py
===================================================================
--- branches/transforms/lib/matplotlib/cbook.py 2007-12-07 19:05:11 UTC (rev
4667)
+++ branches/transforms/lib/matplotlib/cbook.py 2007-12-07 19:09:52 UTC (rev
4668)
@@ -215,7 +215,7 @@
return 1
def is_writable_file_like(obj):
- return hasattr(filename, 'write') and callable(filename.write)
+ return hasattr(obj, 'write') and callable(obj.write)
def is_scalar(obj):
return is_string_like(obj) or not iterable(obj)
@@ -892,7 +892,7 @@
return x, self._mem[i0:self._n:isub]
def plot(self, i0=0, isub=1, fig=None):
- if fig is None:
+ if fig is None:
from pylab import figure, show
fig = figure()
Modified: branches/transforms/lib/matplotlib/cm.py
===================================================================
--- branches/transforms/lib/matplotlib/cm.py 2007-12-07 19:05:11 UTC (rev
4667)
+++ branches/transforms/lib/matplotlib/cm.py 2007-12-07 19:09:52 UTC (rev
4668)
@@ -2,6 +2,7 @@
This module contains the instantiations of color mapping classes
"""
+import numpy as npy
import matplotlib as mpl
import matplotlib.colors as colors
import matplotlib.numerix.npyma as ma
@@ -57,7 +58,7 @@
if x.shape[2] == 3:
if x.dtype == npy.uint8:
alpha = npy.array(alpha*255, npy.uint8)
- m, n = npy.shape[:2]
+ m, n = x.shape[:2]
xx = npy.empty(shape=(m,n,4), dtype = x.dtype)
xx[:,:,:3] = x
xx[:,:,3] = alpha
Property changes on: branches/transforms/lib/matplotlib/mpl-data
___________________________________________________________________
Name: svn:ignore
+ matplotlibrc
matplotlib.conf
Modified: branches/transforms/lib/matplotlib/rcsetup.py
===================================================================
--- branches/transforms/lib/matplotlib/rcsetup.py 2007-12-07 19:05:11 UTC
(rev 4667)
+++ branches/transforms/lib/matplotlib/rcsetup.py 2007-12-07 19:09:52 UTC
(rev 4668)
@@ -165,21 +165,6 @@
'landscape', 'portrait',
])
-def validate_latex_preamble(s):
- 'return a list'
- preamble_list = validate_stringlist(s)
- if not preamble_list == ['']:
- verbose.report("""
-*****************************************************************
-You have the following UNSUPPORTED LaTeX preamble customizations:
-%s
-Please do not ask for support with these customizations active.
-*****************************************************************
-"""% '\n'.join(preamble_list), 'helpful')
- return preamble_list
-
-
-
def validate_aspect(s):
if s in ('auto', 'equal'):
return s
@@ -290,7 +275,7 @@
# a map from key -> value, converter
defaultParams = {
- 'backend' : ['WXAgg', validate_backend],
+ 'backend' : ['Agg', validate_backend], # agg is certainly present
'numerix' : ['numpy', validate_numerix],
'maskedarray' : [False, validate_bool],
'toolbar' : ['toolbar2', validate_toolbar],
@@ -353,7 +338,7 @@
'text.color' : ['k', validate_color], # black
'text.usetex' : [False, validate_bool],
'text.latex.unicode' : [False, validate_bool],
- 'text.latex.preamble' : [[''], validate_latex_preamble],
+ 'text.latex.preamble' : [[''], validate_stringlist],
'text.dvipnghack' : [False, validate_bool],
'text.fontstyle' : ['normal', str],
'text.fontangle' : ['normal', str],
Modified: branches/transforms/lib/matplotlib/text.py
===================================================================
--- branches/transforms/lib/matplotlib/text.py 2007-12-07 19:05:11 UTC (rev
4667)
+++ branches/transforms/lib/matplotlib/text.py 2007-12-07 19:09:52 UTC (rev
4668)
@@ -182,6 +182,7 @@
whs = npy.zeros((len(lines), 2))
horizLayout = npy.zeros((len(lines), 4))
+
# Find full vertical extent of font,
# including ascenders and descenders:
tmp, heightt, bl = renderer.get_text_width_height_descent(
@@ -986,6 +987,7 @@
'axes pixels' : pixels from lower left corner of axes
'axes fraction' : 0,1 is lower left of axes and 1,1 is upper right
'data' : use the coordinate system of the object being
annotated (default)
+ 'offset points' : Specify an offset (in points) from the xy
value
'polar' : you can specify theta, r for the annotation,
even
in cartesian plots. Note that if you
are using a polar axes, you do not need
@@ -1041,6 +1043,26 @@
x = float(self.convert_xunits(x))
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)
+
+ # convert the offset
+ dpi = self.figure.dpi.get()
+ x *= dpi/72.
+ y *= dpi/72.
+
+ # add the offset to the data point
+ x += dx
+ y += dy
+
+ return x, y
elif s=='polar':
theta, r = x, y
x = r*npy.cos(theta)
Modified: branches/transforms/src/_backend_agg.cpp
===================================================================
--- branches/transforms/src/_backend_agg.cpp 2007-12-07 19:05:11 UTC (rev
4667)
+++ branches/transforms/src/_backend_agg.cpp 2007-12-07 19:09:52 UTC (rev
4668)
@@ -593,7 +593,6 @@
delete[] strokeCache;
return Py::Object();
-
}
/**
@@ -1324,11 +1323,9 @@
throw Py::RuntimeError( Printf("Could not open file %s",
file_name).str() );
}
else {
- if ((fp = PyFile_AsFile(py_fileobj.ptr())) == NULL) {
- PyObject* write_method = PyObject_GetAttrString(py_fileobj.ptr(),
"write");
- if (!(write_method && PyCallable_Check(write_method)))
- throw Py::TypeError("Object does not appear to be a path or a Python
file-like object");
- }
+ PyObject* write_method = PyObject_GetAttrString(py_fileobj.ptr(), "write");
+ if (!(write_method && PyCallable_Check(write_method)))
+ throw Py::TypeError("Object does not appear to be a path or a Python
file-like object");
}
png_bytep *row_pointers = NULL;
Property changes on: branches/transforms/unit
___________________________________________________________________
Name: svn:ignore
+ *.png
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins