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-05-12 17:58:26
|
Revision: 8315
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8315&view=rev
Author: mdboom
Date: 2010-05-12 17:58:17 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Minor improvement to font_manager -- don't cache directory-specific results.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/font_manager.py
Modified: trunk/matplotlib/lib/matplotlib/font_manager.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 15:28:12 UTC (rev 8314)
+++ trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 17:58:17 UTC (rev 8315)
@@ -1193,10 +1193,7 @@
<http://www.w3.org/TR/1998/REC-CSS2-19980512/>`_ documentation
for a description of the font finding algorithm.
"""
- debug = False
- if prop is None:
- prop = FontProperties()
- if is_string_like(prop):
+ if not isinstance(prop, FontProperties):
prop = FontProperties(prop)
fname = prop.get_file()
if fname is not None:
@@ -1210,9 +1207,10 @@
font_cache = self.ttf_lookup_cache
fontlist = self.ttflist
- cached = font_cache.get(hash(prop))
- if cached:
- return cached
+ if directory is None:
+ cached = font_cache.get(hash(prop))
+ if cached:
+ return cached
best_score = 1e64
best_font = None
@@ -1258,7 +1256,8 @@
(prop, best_font.name, best_font.fname, best_score))
result = best_font.fname
- font_cache[hash(prop)] = result
+ if directory is None:
+ font_cache[hash(prop)] = result
return result
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-12 15:28:19
|
Revision: 8314
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8314&view=rev
Author: mdboom
Date: 2010-05-12 15:28:12 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Suppress compiler warning.
Modified Paths:
--------------
trunk/matplotlib/src/_backend_agg.cpp
Modified: trunk/matplotlib/src/_backend_agg.cpp
===================================================================
--- trunk/matplotlib/src/_backend_agg.cpp 2010-05-12 15:27:53 UTC (rev 8313)
+++ trunk/matplotlib/src/_backend_agg.cpp 2010-05-12 15:28:12 UTC (rev 8314)
@@ -834,6 +834,8 @@
} else {
x = mpl_round(Py::Float(args[1]));
y = mpl_round(Py::Float(args[2]));
+ w = h = 0; /* w and h not used in this case, but assign to prevent
+ warnings from the compiler */
}
@@ -890,7 +892,7 @@
typedef agg::pixfmt_amask_adaptor<pixfmt, alpha_mask_type> pixfmt_amask_type;
typedef agg::renderer_base<pixfmt_amask_type> amask_ren_type;
typedef agg::renderer_scanline_aa<amask_ren_type, color_span_alloc_type, image_span_gen_type> renderer_type_alpha;
-
+
pixfmt_amask_type pfa(pixFmt, alphaMask);
amask_ren_type r(pfa);
renderer_type_alpha ri(r, sa, image_span_generator);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-12 15:28:00
|
Revision: 8313
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8313&view=rev
Author: mdboom
Date: 2010-05-12 15:27:53 +0000 (Wed, 12 May 2010)
Log Message:
-----------
[2963827] FontProperties does not seem to be working...
Add a unit test to test the FontProperties confusing cases
Added Paths:
-----------
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_text/
trunk/matplotlib/lib/matplotlib/tests/test_text.py
Added: trunk/matplotlib/lib/matplotlib/tests/test_text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/test_text.py (rev 0)
+++ trunk/matplotlib/lib/matplotlib/tests/test_text.py 2010-05-12 15:27:53 UTC (rev 8313)
@@ -0,0 +1,66 @@
+import numpy as np
+import matplotlib
+from matplotlib.testing.decorators import image_comparison, knownfailureif
+import matplotlib.pyplot as plt
+
+
+@image_comparison(baseline_images=['font_styles'])
+def test_font_styles():
+ from matplotlib.font_manager import FontProperties
+
+ fig = plt.figure()
+ ax = plt.subplot( 1, 1, 1 )
+
+ normalFont = FontProperties( family = "sans-serif",
+ style = "normal",
+ variant = "normal",
+ size = 14,
+ )
+ ax.annotate( "Normal Font", (0.1, 0.1), xycoords='axes fraction',
+ fontproperties = normalFont )
+
+ boldFont = FontProperties( family = "Foo",
+ style = "normal",
+ variant = "normal",
+ weight = "bold",
+ stretch = 500,
+ size = 14,
+ )
+ ax.annotate( "Bold Font", (0.1, 0.2), xycoords='axes fraction',
+ fontproperties = boldFont )
+
+ boldItemFont = FontProperties( family = "sans serif",
+ style = "italic",
+ variant = "normal",
+ weight = 750,
+ stretch = 500,
+ size = 14,
+ )
+ ax.annotate( "Bold Italic Font", (0.1, 0.3), xycoords='axes fraction',
+ fontproperties = boldItemFont )
+
+ lightFont = FontProperties( family = "sans-serif",
+ style = "normal",
+ variant = "normal",
+ weight = 200,
+ stretch = 500,
+ size = 14,
+ )
+ ax.annotate( "Light Font", (0.1, 0.4), xycoords='axes fraction',
+ fontproperties = lightFont )
+
+ condensedFont = FontProperties( family = "sans-serif",
+ style = "normal",
+ variant = "normal",
+ weight = 500,
+ stretch = 100,
+ size = 14,
+ )
+ ax.annotate( "Condensed Font", (0.1, 0.5), xycoords='axes fraction',
+ fontproperties = condensedFont )
+
+ ax.set_xticks([])
+ ax.set_yticks([])
+
+ fig.savefig('font_styles')
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-12 15:15:28
|
Revision: 8312
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8312&view=rev
Author: mdboom
Date: 2010-05-12 15:15:19 +0000 (Wed, 12 May 2010)
Log Message:
-----------
[2963827] FontProperties does not seem to be working...
1. Warn when a font family can not be found
2. Fallback to the correct variant of Vera Sans (rather than always non-bold upright) when the font family lookup fails
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/font_manager.py
Modified: trunk/matplotlib/lib/matplotlib/font_manager.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 14:55:27 UTC (rev 8311)
+++ trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 15:15:19 UTC (rev 8312)
@@ -42,7 +42,7 @@
see license/LICENSE_TTFQUERY.
"""
-import os, sys, glob, subprocess
+import os, sys, glob, subprocess, warnings
try:
set
except NameError:
@@ -974,7 +974,7 @@
# Increment this version number whenever the font cache data
# format or behavior has changed and requires a existing font
# cache files to be rebuilt.
- __version__ = 5
+ __version__ = 6
def __init__(self, size=None, weight='normal'):
self._version = self.__version__
@@ -1001,6 +1001,9 @@
# Load TrueType fonts and create font dictionary.
self.ttffiles = findSystemFonts(paths) + findSystemFonts()
+ self.defaultFamily = {
+ 'ttf': 'Bitstream Vera Sans',
+ 'afm': 'Helvetica'}
self.defaultFont = {}
for fname in self.ttffiles:
@@ -1164,7 +1167,8 @@
return 1.0
return abs(sizeval1 - sizeval2) / 72.0
- def findfont(self, prop, fontext='ttf', directory=None):
+ def findfont(self, prop, fontext='ttf', directory=None,
+ fallback_to_default=True):
"""
Search the font list for the font that most closely matches
the :class:`FontProperties` *prop*.
@@ -1181,6 +1185,10 @@
The result is cached, so subsequent lookups don't have to
perform the O(n) nearest neighbor search.
+ If `fallback_to_default` is True, will fallback to the default
+ font family (usually "Bitstream Vera Sans" or "Helvetica") if
+ the first lookup hard-fails.
+
See the `W3C Cascading Style Sheet, Level 1
<http://www.w3.org/TR/1998/REC-CSS2-19980512/>`_ documentation
for a description of the font finding algorithm.
@@ -1229,12 +1237,25 @@
break
if best_font is None or best_score >= 10.0:
- verbose.report('findfont: Could not match %s. Returning %s' %
- (prop, self.defaultFont[fontext]))
- result = self.defaultFont[fontext]
+ if fallback_to_default:
+ warnings.warn(
+ 'findfont: Font family %s not found. Falling back to %s' %
+ (prop.get_family(), self.defaultFamily[fontext]))
+ default_prop = prop.copy()
+ default_prop.set_family(self.defaultFamily[fontext])
+ return self.findfont(default_prop, fontext, directory, False)
+ else:
+ # This is a hard fail -- we can't find anything reasonable,
+ # so just return the vera.ttf
+ warnings.warn(
+ 'findfont: Could not match %s. Returning %s' %
+ (prop, self.defaultFont[fontext]),
+ UserWarning)
+ result = self.defaultFont[fontext]
else:
- verbose.report('findfont: Matching %s to %s (%s) with score of %f' %
- (prop, best_font.name, best_font.fname, best_score))
+ verbose.report(
+ 'findfont: Matching %s to %s (%s) with score of %f' %
+ (prop, best_font.name, best_font.fname, best_score))
result = best_font.fname
font_cache[hash(prop)] = result
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-12 14:55:34
|
Revision: 8311
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8311&view=rev
Author: mdboom
Date: 2010-05-12 14:55:27 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Support "sans serif" as an alias for "sans-serif" in font family names.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/font_manager.py
Modified: trunk/matplotlib/lib/matplotlib/font_manager.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 14:50:24 UTC (rev 8310)
+++ trunk/matplotlib/lib/matplotlib/font_manager.py 2010-05-12 14:55:27 UTC (rev 8311)
@@ -401,8 +401,8 @@
return "<Font '%s' (%s) %s %s %s %s>" % (
self.name, os.path.basename(self.fname), self.style, self.variant,
self.weight, self.stretch)
-
+
def ttfFontProperty(font):
"""
A function for populating the :class:`FontKey` by extracting
@@ -1065,7 +1065,7 @@
for i, family1 in enumerate(families):
family1 = family1.lower()
if family1 in font_family_aliases:
- if family1 == 'sans':
+ if family1 in ('sans', 'sans serif'):
family1 == 'sans-serif'
options = rcParams['font.' + family1]
options = [x.lower() for x in options]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-05-12 14:50:30
|
Revision: 8310
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8310&view=rev
Author: jswhit
Date: 2010-05-12 14:50:24 +0000 (Wed, 12 May 2010)
Log Message:
-----------
update
Modified Paths:
--------------
trunk/toolkits/basemap/Changelog
Modified: trunk/toolkits/basemap/Changelog
===================================================================
--- trunk/toolkits/basemap/Changelog 2010-05-12 14:41:58 UTC (rev 8309)
+++ trunk/toolkits/basemap/Changelog 2010-05-12 14:50:24 UTC (rev 8310)
@@ -1,4 +1,5 @@
version 0.99.5 (not yet released)
+ * let continents that fill the whole map be filled.
* added option for cubic spline interpolation in interp function
(order=3) using scipy.ndimage.
* added "near-sided perspective" projection for a satellite
@@ -8,7 +9,7 @@
* updated proj4 source to version 4.7.0, pyproj to 1.8.6.
* add "is_land" method to check whether a point is over land or
water.
- * geos-3.1.1 now required. 3.1.1 source included (instead of 2.2.3).
+ * geos-3.1.1 now required. 3.2.0 source included (instead of 2.2.3).
* shiftgrid no longer requires a cyclic point to be present
(patch from Eric Bruning).
* fix date2index bugs.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-05-12 14:42:05
|
Revision: 8309
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8309&view=rev
Author: jswhit
Date: 2010-05-12 14:41:58 +0000 (Wed, 12 May 2010)
Log Message:
-----------
let continents that fill whole map be filled.
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-05-11 20:23:04 UTC (rev 8308)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2010-05-12 14:41:58 UTC (rev 8309)
@@ -1411,19 +1411,22 @@
ya = np.array(y,np.float32)
# check to see if all four corners of domain in polygon (if so,
# don't draw since it will just fill in the whole map).
- delx = 10; dely = 10
- if self.projection in ['cyl']:
- delx = 0.1
- dely = 0.1
- test1 = np.fabs(xa-self.urcrnrx) < delx
- test2 = np.fabs(xa-self.llcrnrx) < delx
- test3 = np.fabs(ya-self.urcrnry) < dely
- test4 = np.fabs(ya-self.llcrnry) < dely
- hasp1 = np.sum(test1*test3)
- hasp2 = np.sum(test2*test3)
- hasp4 = np.sum(test2*test4)
- hasp3 = np.sum(test1*test4)
- if not hasp1 or not hasp2 or not hasp3 or not hasp4:
+ # ** turn this off for now since it prevents continents that
+ # fill the whole map from being filled **
+ #delx = 10; dely = 10
+ #if self.projection in ['cyl']:
+ # delx = 0.1
+ # dely = 0.1
+ #test1 = np.fabs(xa-self.urcrnrx) < delx
+ #test2 = np.fabs(xa-self.llcrnrx) < delx
+ #test3 = np.fabs(ya-self.urcrnry) < dely
+ #test4 = np.fabs(ya-self.llcrnry) < dely
+ #hasp1 = np.sum(test1*test3)
+ #hasp2 = np.sum(test2*test3)
+ #hasp4 = np.sum(test2*test4)
+ #hasp3 = np.sum(test1*test4)
+ #if not hasp1 or not hasp2 or not hasp3 or not hasp4:
+ if 1:
xy = zip(xa.tolist(),ya.tolist())
if self.coastpolygontypes[npoly] not in [2,4]:
poly = Polygon(xy,facecolor=color,edgecolor=color,linewidth=0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-05-11 20:23:11
|
Revision: 8308
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8308&view=rev
Author: efiring
Date: 2010-05-11 20:23:04 +0000 (Tue, 11 May 2010)
Log Message:
-----------
close bug 2997687: integer overflow problem in Normalize
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/colors.py
Modified: trunk/matplotlib/lib/matplotlib/colors.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/colors.py 2010-05-11 20:00:14 UTC (rev 8307)
+++ trunk/matplotlib/lib/matplotlib/colors.py 2010-05-11 20:23:04 UTC (rev 8308)
@@ -796,11 +796,13 @@
elif vmin==vmax:
result = 0.0 * val
else:
+ vmin = float(vmin)
+ vmax = float(vmax)
if clip:
mask = ma.getmask(val)
val = ma.array(np.clip(val.filled(vmax), vmin, vmax),
mask=mask)
- result = (val-vmin) * (1.0/(vmax-vmin))
+ result = (val-vmin) / (vmax-vmin)
if vtype == 'scalar':
result = result[0]
return result
@@ -809,6 +811,10 @@
if not self.scaled():
raise ValueError("Not invertible until scaled")
vmin, vmax = self.vmin, self.vmax
+ if vmin >= vmax:
+ raise ValueError("Inversion requires valid vmax > vmin")
+ vmin = float(vmin)
+ vmax = float(vmax)
if cbook.iterable(value):
val = ma.asarray(value)
@@ -816,18 +822,17 @@
else:
return vmin + value * (vmax - vmin)
-
def autoscale(self, A):
'''
Set *vmin*, *vmax* to min, max of *A*.
'''
- self.vmin = ma.minimum(A)
- self.vmax = ma.maximum(A)
+ self.vmin = ma.min(A)
+ self.vmax = ma.max(A)
def autoscale_None(self, A):
' autoscale only None-valued vmin or vmax'
- if self.vmin is None: self.vmin = ma.minimum(A)
- if self.vmax is None: self.vmax = ma.maximum(A)
+ if self.vmin is None: self.vmin = ma.min(A)
+ if self.vmax is None: self.vmax = ma.max(A)
def scaled(self):
'return true if vmin and vmax set'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <js...@us...> - 2010-05-11 20:00:20
|
Revision: 8307
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8307&view=rev
Author: jswhit
Date: 2010-05-11 20:00:14 +0000 (Tue, 11 May 2010)
Log Message:
-----------
fix bug in is_land method.
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-05-10 20:34:33 UTC (rev 8306)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2010-05-11 20:00:14 UTC (rev 8307)
@@ -1603,7 +1603,7 @@
the GSHHS coastline polygons associated with the class instance.
Points over lakes inside land regions are not counted as land points.
"""
- if resolution is None: return None
+ if self.resolution is None: return None
landpt = False
for poly in self.landpolygons:
landpt = _geoslib.Point((xpt,ypt)).within(poly)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-10 20:34:42
|
Revision: 8306
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8306&view=rev
Author: mdboom
Date: 2010-05-10 20:34:33 +0000 (Mon, 10 May 2010)
Log Message:
-----------
[2998906] OverflowError when xscale='log' for hexbin
Raises ValueError if trying to log-scale non-positive values.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-05-10 20:17:51 UTC (rev 8305)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-05-10 20:34:33 UTC (rev 8306)
@@ -5778,8 +5778,12 @@
x = np.array(x, float)
y = np.array(y, float)
if xscale=='log':
+ if np.any(x <= 0.0):
+ raise ValueError("x contains non-positive values, so can not be log-scaled")
x = np.log10(x)
if yscale=='log':
+ if np.any(y <= 0.0):
+ raise ValueError("y contains non-positive values, so can not be log-scaled")
y = np.log10(y)
if extent is not None:
xmin, xmax, ymin, ymax = extent
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-10 20:17:58
|
Revision: 8305
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8305&view=rev
Author: mdboom
Date: 2010-05-10 20:17:51 +0000 (Mon, 10 May 2010)
Log Message:
-----------
Fix minus signs in Ps output.
Modified Paths:
--------------
trunk/matplotlib/ttconv/pprdrv_tt.cpp
Modified: trunk/matplotlib/ttconv/pprdrv_tt.cpp
===================================================================
--- trunk/matplotlib/ttconv/pprdrv_tt.cpp 2010-05-10 18:58:07 UTC (rev 8304)
+++ trunk/matplotlib/ttconv/pprdrv_tt.cpp 2010-05-10 20:17:51 UTC (rev 8305)
@@ -420,7 +420,7 @@
-------------------------------------------------------------*/
void ttfont_encoding(TTStreamWriter& stream, struct TTFONT *font, std::vector<int>& glyph_ids, font_type_enum target_type)
{
- stream.putline("/Encoding ISOLatin1Encoding def");
+ stream.putline("/Encoding StandardEncoding def");
// if (target_type == PS_TYPE_3) {
// stream.printf("/Encoding [ ");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-10 18:58:13
|
Revision: 8304
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8304&view=rev
Author: mdboom
Date: 2010-05-10 18:58:07 +0000 (Mon, 10 May 2010)
Log Message:
-----------
Use a different strategy for the LogLocator for radial lines on polar plots.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/ticker.py
Modified: trunk/matplotlib/lib/matplotlib/ticker.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/ticker.py 2010-05-10 18:20:19 UTC (rev 8303)
+++ trunk/matplotlib/lib/matplotlib/ticker.py 2010-05-10 18:58:07 UTC (rev 8304)
@@ -1196,13 +1196,14 @@
Determine the tick locations for log axes
"""
- def __init__(self, base=10.0, subs=[1.0]):
+ def __init__(self, base=10.0, subs=[1.0], numdecs=4):
"""
place ticks on the location= base**i*subs[j]
"""
self.base(base)
self.subs(subs)
self.numticks = 15
+ self.numdecs = numdecs
def base(self,base):
"""
@@ -1227,6 +1228,14 @@
b=self._base
vmin, vmax = self.axis.get_view_interval()
+
+ if self.axis.axes.name == 'polar':
+ vmax = math.ceil(math.log(vmax) / math.log(b))
+ decades = np.arange(vmax - self.numdecs, vmax)
+ ticklocs = b ** decades
+
+ return ticklocs
+
if vmin <= 0.0:
vmin = self.axis.get_minpos()
if vmin <= 0.0:
@@ -1265,10 +1274,16 @@
def view_limits(self, vmin, vmax):
'Try to choose the view limits intelligently'
+ b = self._base
if vmax<vmin:
vmin, vmax = vmax, vmin
+ if self.axis.axes.name == 'polar':
+ vmax = math.ceil(math.log(vmax) / math.log(b))
+ vmin = b ** (vmax - self.numdecs)
+ return vmin, vmax
+
minpos = self.axis.get_minpos()
if minpos<=0:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-10 18:20:25
|
Revision: 8303
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8303&view=rev
Author: mdboom
Date: 2010-05-10 18:20:19 +0000 (Mon, 10 May 2010)
Log Message:
-----------
Remove auto-bumping of radial tick labels on polar plots, since it breaks for log scaling.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/projections/polar.py
Modified: trunk/matplotlib/lib/matplotlib/projections/polar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/projections/polar.py 2010-05-10 18:06:45 UTC (rev 8302)
+++ trunk/matplotlib/lib/matplotlib/projections/polar.py 2010-05-10 18:20:19 UTC (rev 8303)
@@ -301,10 +301,6 @@
self.viewLim.y0 = 0
self.viewLim.y1 = rmax
angle = self._r_label1_position.to_values()[4]
- self._r_label1_position.clear().translate(
- angle, rmax * self._rpad)
- self._r_label2_position.clear().translate(
- angle, -rmax * self._rpad)
def get_rmax(self):
return self.viewLim.ymax
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-10 18:06:51
|
Revision: 8302
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8302&view=rev
Author: mdboom
Date: 2010-05-10 18:06:45 +0000 (Mon, 10 May 2010)
Log Message:
-----------
Fix aspect ratio calculation for polar plots.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-05-09 02:59:29 UTC (rev 8301)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-05-10 18:06:45 UTC (rev 8302)
@@ -1084,20 +1084,23 @@
aspect = self.get_aspect()
- xscale, yscale = self.get_xscale(), self.get_yscale()
- if xscale == "linear" and yscale == "linear":
+ if self.name != 'polar':
+ xscale, yscale = self.get_xscale(), self.get_yscale()
+ if xscale == "linear" and yscale == "linear":
+ aspect_scale_mode = "linear"
+ elif xscale == "log" and yscale == "log":
+ aspect_scale_mode = "log"
+ elif (xscale == "linear" and yscale == "log") or \
+ (xscale == "log" and yscale == "linear"):
+ if aspect is not "auto":
+ warnings.warn(
+ 'aspect is not supported for Axes with xscale=%s, yscale=%s' \
+ % (xscale, yscale))
+ aspect = "auto"
+ else: # some custom projections have their own scales.
+ pass
+ else:
aspect_scale_mode = "linear"
- elif xscale == "log" and yscale == "log":
- aspect_scale_mode = "log"
- elif (xscale == "linear" and yscale == "log") or \
- (xscale == "log" and yscale == "linear"):
- if aspect is not "auto":
- warnings.warn(
- 'aspect is not supported for Axes with xscale=%s, yscale=%s' \
- % (xscale, yscale))
- aspect = "auto"
- else: # some custom projections have their own scales.
- pass
if aspect == 'auto':
self.set_position( position , which='active')
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ry...@us...> - 2010-05-09 02:59:36
|
Revision: 8301
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8301&view=rev
Author: ryanmay
Date: 2010-05-09 02:59:29 +0000 (Sun, 09 May 2010)
Log Message:
-----------
Clarify axes.scatter docstring slightly for using 'none' as a string instead of the None object.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-05-06 19:59:32 UTC (rev 8300)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-05-09 02:59:29 UTC (rev 8301)
@@ -5424,10 +5424,10 @@
particular:
*edgecolors*:
- 'none' to plot faces with no outlines
+ The string 'none' to plot faces with no outlines
*facecolors*:
- 'none' to plot unfilled outlines
+ The string 'none' to plot unfilled outlines
Here are the standard descriptions of all the
:class:`~matplotlib.collections.Collection` kwargs:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <lee...@us...> - 2010-05-04 19:46:34
|
Revision: 8295
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8295&view=rev
Author: leejjoon
Date: 2010-05-04 19:46:28 +0000 (Tue, 04 May 2010)
Log Message:
-----------
Axes.annotate sets _remove_method
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-05-04 17:53:33 UTC (rev 8294)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-05-04 19:46:28 UTC (rev 8295)
@@ -3033,6 +3033,7 @@
self._set_artist_props(a)
if kwargs.has_key('clip_on'): a.set_clip_path(self.patch)
self.texts.append(a)
+ a._remove_method = lambda h: self.texts.remove(h)
return a
#### Lines and spans
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ds...@us...> - 2010-05-04 17:53:39
|
Revision: 8294
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8294&view=rev
Author: dsdale
Date: 2010-05-04 17:53:33 +0000 (Tue, 04 May 2010)
Log Message:
-----------
Improve backend_qt4 so it displays figures with the correct size
Modified Paths:
--------------
trunk/matplotlib/CHANGELOG
trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py
Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG 2010-05-04 05:24:53 UTC (rev 8293)
+++ trunk/matplotlib/CHANGELOG 2010-05-04 17:53:33 UTC (rev 8294)
@@ -1,3 +1,6 @@
+2010-05-04 Improve backend_qt4 so it displays figures with the
+ correct size - DSD
+
2010-04-20 Added generic support for connecting to a timer for events. This
adds TimerBase, TimerGTK, TimerQT, TimerWx, and TimerTk to
the backends and a new_timer() method to each backend's
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py 2010-05-04 05:24:53 UTC (rev 8293)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_qt4.py 2010-05-04 17:53:33 UTC (rev 8294)
@@ -318,6 +318,13 @@
QtCore.QObject.connect(self.toolbar, QtCore.SIGNAL("message"),
self.window.statusBar().showMessage)
+ # resize the main window so it will display the canvas with the
+ # requested size:
+ cs = canvas.sizeHint()
+ tbs = self.toolbar.sizeHint()
+ sbs = self.window.statusBar().sizeHint()
+ self.window.resize(cs.width(), cs.height()+tbs.height()+sbs.height())
+
self.window.setCentralWidget(self.canvas)
if matplotlib.is_interactive():
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-05-04 05:24:59
|
Revision: 8293
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8293&view=rev
Author: efiring
Date: 2010-05-04 05:24:53 +0000 (Tue, 04 May 2010)
Log Message:
-----------
hist: accept a list of scalars as equivalent to a 1-D ndarray
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-05-03 18:37:38 UTC (rev 8292)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-05-04 05:24:53 UTC (rev 8293)
@@ -6187,7 +6187,7 @@
precise point of intersection. Otherwise, the start and
end points of the filled region will only occur on explicit
values in the *x* array.
-
+
*kwargs*
keyword args passed on to the :class:`PolyCollection`
@@ -6254,13 +6254,13 @@
return x[ind-1], y1[ind-1]
elif np.ma.is_masked(diff_values[0]):
return x[ind], y1[ind]
-
+
diff_order = diff_values.argsort()
diff_root_x = np.interp(
0, diff_values[diff_order], x_values[diff_order])
diff_root_y = np.interp(diff_root_x, x_values, y1_values)
return diff_root_x, diff_root_y
-
+
start = get_interp_point(ind0)
end = get_interp_point(ind1)
else:
@@ -6272,12 +6272,12 @@
X[0] = start
X[N+1] = end
-
+
X[1:N+1,0] = xslice
X[1:N+1,1] = y1slice
X[N+2:,0] = xslice[::-1]
X[N+2:,1] = y2slice[::-1]
-
+
polys.append(X)
collection = mcoll.PolyCollection(polys, **kwargs)
@@ -7328,7 +7328,7 @@
'hist now uses the rwidth to give relative width '
'and not absolute width')
- if isinstance(x, np.ndarray):
+ if isinstance(x, np.ndarray) or not iterable(x[0]):
# TODO: support masked arrays;
x = np.asarray(x)
if x.ndim == 2:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-05-03 18:37:45
|
Revision: 8292
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8292&view=rev
Author: mdboom
Date: 2010-05-03 18:37:38 +0000 (Mon, 03 May 2010)
Log Message:
-----------
Change "import numpy as npy" to common convention "import numpy as np"
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/backends/backend_agg.py
trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
trunk/matplotlib/lib/matplotlib/backends/backend_gdk.py
trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py
trunk/matplotlib/lib/matplotlib/backends/backend_ps.py
trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
trunk/matplotlib/lib/matplotlib/mathtext.py
trunk/matplotlib/lib/matplotlib/projections/polar.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_agg.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_agg.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_agg.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -22,7 +22,7 @@
"""
from __future__ import division
-import numpy as npy
+import numpy as np
from matplotlib import verbose, rcParams
from matplotlib.backend_bases import RendererBase,\
@@ -99,10 +99,10 @@
npts = path.vertices.shape[0]
if (nmax > 100 and npts > nmax and path.should_simplify and
rgbFace is None and gc.get_hatch() is None):
- nch = npy.ceil(npts/float(nmax))
- chsize = int(npy.ceil(npts/nch))
- i0 = npy.arange(0, npts, chsize)
- i1 = npy.zeros_like(i0)
+ nch = np.ceil(npts/float(nmax))
+ chsize = int(np.ceil(npts/nch))
+ i0 = np.arange(0, npts, chsize)
+ i1 = np.zeros_like(i0)
i1[:-1] = i0[1:] - 1
i1[-1] = npts
for ii0, ii1 in zip(i0, i1):
@@ -196,7 +196,7 @@
im = self.texd.get(key)
if im is None:
Z = texmanager.get_grey(s, size, self.dpi)
- Z = npy.array(Z * 255.0, npy.uint8)
+ Z = np.array(Z * 255.0, np.uint8)
self._renderer.draw_text_image(Z, x, y, angle, gc)
@@ -339,7 +339,7 @@
self._update_methods()
if w > 0 and h > 0:
- img = npy.fromstring(buffer, npy.uint8)
+ img = np.fromstring(buffer, np.uint8)
img, ox, oy = post_processing(img.reshape((h, w, 4)) / 255.,
self.dpi)
image = fromarray(img, 1)
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -21,7 +21,7 @@
from __future__ import division
import os, sys, warnings, gzip
-import numpy as npy
+import numpy as np
def _fn_name(): return sys._getframe(1).f_code.co_name
@@ -196,7 +196,7 @@
ctx.save()
if angle:
- ctx.rotate (-angle * npy.pi / 180)
+ ctx.rotate (-angle * np.pi / 180)
ctx.set_font_size (size)
ctx.show_text (s.encode("utf-8"))
ctx.restore()
@@ -211,7 +211,7 @@
ctx.save()
ctx.translate(x, y)
if angle:
- ctx.rotate (-angle * npy.pi / 180)
+ ctx.rotate (-angle * np.pi / 180)
for font, fontsize, s, ox, oy in glyphs:
ctx.new_path()
@@ -355,7 +355,7 @@
self.ctx.set_dash([], 0) # switch dashes off
else:
self.ctx.set_dash (
- self.renderer.points_to_pixels (npy.asarray(dashes)), offset)
+ self.renderer.points_to_pixels (np.asarray(dashes)), offset)
def set_foreground(self, fg, isRGB=None):
@@ -469,7 +469,7 @@
ctx = renderer.gc.ctx
if orientation == 'landscape':
- ctx.rotate (npy.pi/2)
+ ctx.rotate (np.pi/2)
ctx.translate (0, -height_in_points)
# cairo/src/cairo_ps_surface.c
# '%%Orientation: Portrait' is always written to the file header
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_gdk.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_gdk.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_gdk.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -16,7 +16,7 @@
% (gtk.pygtk_version + pygtk_version_required))
del pygtk_version_required
-import numpy as npy
+import numpy as np
import matplotlib
from matplotlib._pylab_helpers import Gcf
@@ -109,7 +109,7 @@
im.flipud_out()
rows, cols, image_str = im.as_rgba_str()
- image_array = npy.fromstring(image_str, npy.uint8)
+ image_array = np.fromstring(image_str, np.uint8)
image_array.shape = rows, cols, 4
pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,
@@ -174,13 +174,13 @@
N = imw * imh
# a numpixels by num fonts array
- Xall = npy.zeros((N,1), npy.uint8)
+ Xall = np.zeros((N,1), np.uint8)
image_str = font_image.as_str()
- Xall[:,0] = npy.fromstring(image_str, npy.uint8)
+ Xall[:,0] = np.fromstring(image_str, np.uint8)
# get the max alpha at each pixel
- Xs = npy.amax(Xall,axis=1)
+ Xs = np.amax(Xall,axis=1)
# convert it to it's proper shape
Xs.shape = imh, imw
@@ -381,7 +381,7 @@
if dash_list == None:
self.gdkGC.line_style = gdk.LINE_SOLID
else:
- pixels = self.renderer.points_to_pixels(npy.asarray(dash_list))
+ pixels = self.renderer.points_to_pixels(np.asarray(dash_list))
dl = [max(1, int(round(val))) for val in pixels]
self.gdkGC.set_dashes(dash_offset, dl)
self.gdkGC.line_style = gdk.LINE_ON_OFF_DASH
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -13,7 +13,7 @@
import warnings
import zlib
-import numpy as npy
+import numpy as np
from cStringIO import StringIO
from datetime import datetime
@@ -136,7 +136,7 @@
# need to use %f with some precision. Perhaps the precision
# should adapt to the magnitude of the number?
elif isinstance(obj, float):
- if not npy.isfinite(obj):
+ if not np.isfinite(obj):
raise ValueError, "Can only output finite numbers in PDF"
r = "%.10f" % obj
return r.rstrip('0').rstrip('.')
@@ -1088,8 +1088,8 @@
shape = points.shape
flat_points = points.reshape((shape[0] * shape[1], 2))
flat_colors = colors.reshape((shape[0] * shape[1], 4))
- points_min = npy.min(flat_points, axis=0) - (1 << 8)
- points_max = npy.max(flat_points, axis=0) + (1 << 8)
+ points_min = np.min(flat_points, axis=0) - (1 << 8)
+ points_max = np.max(flat_points, axis=0) + (1 << 8)
factor = float(0xffffffff) / (points_max - points_min)
self.beginStream(
@@ -1105,7 +1105,7 @@
0, 1, 0, 1, 0, 1]
})
- streamarr = npy.empty(
+ streamarr = np.empty(
(shape[0] * shape[1],),
dtype=[('flags', 'u1'),
('points', '>u4', (2,)),
@@ -1137,7 +1137,7 @@
def _rgb(self, im):
h,w,s = im.as_rgba_str()
- rgba = npy.fromstring(s, npy.uint8)
+ rgba = np.fromstring(s, np.uint8)
rgba.shape = (h, w, 4)
rgb = rgba[:,:,:3]
a = rgba[:,:,3:]
@@ -1145,13 +1145,13 @@
def _gray(self, im, rc=0.3, gc=0.59, bc=0.11):
rgbat = im.as_rgba_str()
- rgba = npy.fromstring(rgbat[2], npy.uint8)
+ rgba = np.fromstring(rgbat[2], np.uint8)
rgba.shape = (rgbat[0], rgbat[1], 4)
- rgba_f = rgba.astype(npy.float32)
+ rgba_f = rgba.astype(np.float32)
r = rgba_f[:,:,0]
g = rgba_f[:,:,1]
b = rgba_f[:,:,2]
- gray = (r*rc + g*gc + b*bc).astype(npy.uint8)
+ gray = (r*rc + g*gc + b*bc).astype(np.uint8)
return rgbat[0], rgbat[1], gray.tostring()
def writeImages(self):
@@ -2005,9 +2005,9 @@
try:
different = bool(ours != theirs)
except ValueError:
- ours = npy.asarray(ours)
- theirs = npy.asarray(theirs)
- different = ours.shape != theirs.shape or npy.any(ours != theirs)
+ ours = np.asarray(ours)
+ theirs = np.asarray(theirs)
+ different = ours.shape != theirs.shape or np.any(ours != theirs)
if different:
break
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_ps.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -36,7 +36,7 @@
from matplotlib.backends.backend_mixed import MixedModeRenderer
-import numpy as npy
+import numpy as np
import binascii
import re
try:
@@ -127,7 +127,7 @@
#ok, neither are None:, assuming iterable
if len(seq1) != len(seq2): return False
- return npy.alltrue(npy.equal(seq1, seq2))
+ return np.alltrue(np.equal(seq1, seq2))
class RendererPS(RendererBase):
@@ -348,20 +348,20 @@
def _rgb(self, im):
h,w,s = im.as_rgba_str()
- rgba = npy.fromstring(s, npy.uint8)
+ rgba = np.fromstring(s, np.uint8)
rgba.shape = (h, w, 4)
rgb = rgba[:,:,:3]
return h, w, rgb.tostring()
def _gray(self, im, rc=0.3, gc=0.59, bc=0.11):
rgbat = im.as_rgba_str()
- rgba = npy.fromstring(rgbat[2], npy.uint8)
+ rgba = np.fromstring(rgbat[2], np.uint8)
rgba.shape = (rgbat[0], rgbat[1], 4)
- rgba_f = rgba.astype(npy.float32)
+ rgba_f = rgba.astype(np.float32)
r = rgba_f[:,:,0]
g = rgba_f[:,:,1]
b = rgba_f[:,:,2]
- gray = (r*rc + g*gc + b*bc).astype(npy.uint8)
+ gray = (r*rc + g*gc + b*bc).astype(np.uint8)
return rgbat[0], rgbat[1], gray.tostring()
def _hex_lines(self, s, chars_per_line=128):
@@ -811,14 +811,14 @@
shape = points.shape
flat_points = points.reshape((shape[0] * shape[1], 2))
flat_colors = colors.reshape((shape[0] * shape[1], 4))
- points_min = npy.min(flat_points, axis=0) - (1 << 8)
- points_max = npy.max(flat_points, axis=0) + (1 << 8)
+ points_min = np.min(flat_points, axis=0) - (1 << 8)
+ points_max = np.max(flat_points, axis=0) + (1 << 8)
factor = float(0xffffffff) / (points_max - points_min)
xmin, ymin = points_min
xmax, ymax = points_max
- streamarr = npy.empty(
+ streamarr = np.empty(
(shape[0] * shape[1],),
dtype=[('flags', 'u1'),
('points', '>u4', (2,)),
@@ -1492,7 +1492,7 @@
return a postscript header stringfor the given bbox (l, b, r, t)
"""
- bbox_info = '%%%%BoundingBox: %d %d %d %d' % (l, b, npy.ceil(r), npy.ceil(t))
+ bbox_info = '%%%%BoundingBox: %d %d %d %d' % (l, b, np.ceil(r), np.ceil(t))
hires_bbox_info = '%%%%HiResBoundingBox: %.6f %.6f %.6f %.6f' % (l, b, r, t)
return '\n'.join([bbox_info, hires_bbox_info])
@@ -1537,7 +1537,7 @@
dy = (bbox[3]-bbox[1])/2
l,b,r,t = (x-dx, y-dy, x+dx, y+dy)
- bbox_info = '%%%%BoundingBox: %d %d %d %d' % (l, b, npy.ceil(r), npy.ceil(t))
+ bbox_info = '%%%%BoundingBox: %d %d %d %d' % (l, b, np.ceil(r), np.ceil(t))
hires_bbox_info = '%%%%HiResBoundingBox: %.6f %.6f %.6f %.6f' % (l, b, r, t)
return '\n'.join([bbox_info, hires_bbox_info])
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -96,7 +96,7 @@
import sys, os, os.path, math, StringIO, weakref, warnings
-import numpy as npy
+import numpy as np
# Debugging settings here...
# Debug level set here. If the debug level is less than 5, information
@@ -417,7 +417,7 @@
w=self.width
h=self.height
rows, cols, image_str = im.as_rgba_str()
- image_array = npy.fromstring(image_str, npy.uint8)
+ image_array = np.fromstring(image_str, np.uint8)
image_array.shape = rows, cols, 4
bitmap = wx.BitmapFromBufferRGBA(cols,rows,image_array)
gc = self.get_gc()
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -3033,7 +3033,6 @@
Returns the offset of the baseline from the bottom of the
image in pixels.
"""
-
rgba, depth = self.to_rgba(texstr, color=color, dpi=dpi, fontsize=fontsize)
numrows, numcols, tmp = rgba.shape
_png.write_png(rgba.tostring(), numcols, numrows, filename)
Modified: trunk/matplotlib/lib/matplotlib/projections/polar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/projections/polar.py 2010-04-30 16:54:10 UTC (rev 8291)
+++ trunk/matplotlib/lib/matplotlib/projections/polar.py 2010-05-03 18:37:38 UTC (rev 8292)
@@ -1,7 +1,7 @@
import math
import warnings
-import numpy as npy
+import numpy as np
import matplotlib
rcParams = matplotlib.rcParams
@@ -36,13 +36,13 @@
is_separable = False
def transform(self, tr):
- xy = npy.zeros(tr.shape, npy.float_)
+ xy = np.zeros(tr.shape, np.float_)
t = tr[:, 0:1]
r = tr[:, 1:2]
x = xy[:, 0:1]
y = xy[:, 1:2]
- x[:] = r * npy.cos(t)
- y[:] = r * npy.sin(t)
+ x[:] = r * np.cos(t)
+ y[:] = r * np.sin(t)
return xy
transform.__doc__ = Transform.transform.__doc__
@@ -106,10 +106,10 @@
def transform(self, xy):
x = xy[:, 0:1]
y = xy[:, 1:]
- r = npy.sqrt(x*x + y*y)
- theta = npy.arccos(x / r)
- theta = npy.where(y < 0, 2 * npy.pi - theta, theta)
- return npy.concatenate((theta, r), 1)
+ r = np.sqrt(x*x + y*y)
+ theta = np.arccos(x / r)
+ theta = np.where(y < 0, 2 * np.pi - theta, theta)
+ return np.concatenate((theta, r), 1)
transform.__doc__ = Transform.transform.__doc__
def inverted(self):
@@ -125,14 +125,14 @@
def __call__(self, x, pos=None):
# \u00b0 : degree symbol
if rcParams['text.usetex'] and not rcParams['text.latex.unicode']:
- return r"$%0.0f^\circ$" % ((x / npy.pi) * 180.0)
+ return r"$%0.0f^\circ$" % ((x / np.pi) * 180.0)
else:
# we use unicode, rather than mathtext with \circ, so
# that it will work correctly with any arbitrary font
# (assuming it has a degree sign), whereas $5\circ$
# will only work correctly with one of the supported
# math fonts (Computer Modern and STIX)
- return u"%0.0f\u00b0" % ((x / npy.pi) * 180.0)
+ return u"%0.0f\u00b0" % ((x / np.pi) * 180.0)
class RadialLocator(Locator):
"""
@@ -196,7 +196,7 @@
self.title.set_y(1.05)
self.xaxis.set_major_formatter(self.ThetaFormatter())
- angles = npy.arange(0.0, 360.0, 45.0)
+ angles = np.arange(0.0, 360.0, 45.0)
self.set_thetagrids(angles)
self.yaxis.set_major_locator(self.RadialLocator(self.yaxis.get_major_locator()))
@@ -254,7 +254,7 @@
# axis so the gridlines from 0.0 to 1.0, now go from 0.0 to
# 2pi.
self._yaxis_transform = (
- Affine2D().scale(npy.pi * 2.0, 1.0) +
+ Affine2D().scale(np.pi * 2.0, 1.0) +
self.transData)
# The r-axis labels are put at an angle and padded in the r-direction
self._r_label1_position = Affine2D().translate(22.5, self._rpad)
@@ -344,8 +344,8 @@
ACCEPTS: sequence of floats
"""
- angles = npy.asarray(angles, npy.float_)
- self.set_xticks(angles * (npy.pi / 180.0))
+ angles = np.asarray(angles, np.float_)
+ self.set_xticks(angles * (np.pi / 180.0))
if labels is not None:
self.set_xticklabels(labels)
elif fmt is not None:
@@ -384,7 +384,7 @@
ACCEPTS: sequence of floats
"""
- radii = npy.asarray(radii)
+ radii = np.asarray(radii)
rmin = radii.min()
if rmin <= 0:
raise ValueError('radial grids must be strictly positive')
@@ -411,7 +411,7 @@
def set_xlim(self, *args, **kargs):
# The xlim is fixed, no matter what you do
- self.viewLim.intervalx = (0.0, npy.pi * 2.0)
+ self.viewLim.intervalx = (0.0, np.pi * 2.0)
def format_coord(self, theta, r):
"""
@@ -440,10 +440,10 @@
return False
def start_pan(self, x, y, button):
- angle = self._r_label1_position.to_values()[4] / 180.0 * npy.pi
+ angle = self._r_label1_position.to_values()[4] / 180.0 * np.pi
mode = ''
if button == 1:
- epsilon = npy.pi / 45.0
+ epsilon = np.pi / 45.0
t, r = self.transData.inverted().transform_point((x, y))
if t >= angle - epsilon and t <= angle + epsilon:
mode = 'drag_r_labels'
@@ -477,7 +477,7 @@
dt = abs(dt1) * sign(dt0) * -1.0
else:
dt = dt0 * -1.0
- dt = (dt / npy.pi) * 180.0
+ dt = (dt / np.pi) * 180.0
rpad = self._r_label1_position.to_values()[5]
self._r_label1_position.clear().translate(
@@ -499,26 +499,26 @@
# cubic bezier curves.
# def transform_path(self, path):
-# twopi = 2.0 * npy.pi
-# halfpi = 0.5 * npy.pi
+# twopi = 2.0 * np.pi
+# halfpi = 0.5 * np.pi
# vertices = path.vertices
# t0 = vertices[0:-1, 0]
# t1 = vertices[1: , 0]
-# td = npy.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
+# td = np.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
# maxtd = td.max()
-# interpolate = npy.ceil(maxtd / halfpi)
+# interpolate = np.ceil(maxtd / halfpi)
# if interpolate > 1.0:
# vertices = self.interpolate(vertices, interpolate)
# vertices = self.transform(vertices)
-# result = npy.zeros((len(vertices) * 3 - 2, 2), npy.float_)
-# codes = mpath.Path.CURVE4 * npy.ones((len(vertices) * 3 - 2, ), mpath.Path.code_type)
+# result = np.zeros((len(vertices) * 3 - 2, 2), np.float_)
+# codes = mpath.Path.CURVE4 * np.ones((len(vertices) * 3 - 2, ), mpath.Path.code_type)
# result[0] = vertices[0]
# codes[0] = mpath.Path.MOVETO
-# kappa = 4.0 * ((npy.sqrt(2.0) - 1.0) / 3.0)
+# kappa = 4.0 * ((np.sqrt(2.0) - 1.0) / 3.0)
# kappa = 0.5
# p0 = vertices[0:-1]
@@ -556,36 +556,36 @@
# return mpath.Path(result, codes)
-# twopi = 2.0 * npy.pi
-# halfpi = 0.5 * npy.pi
+# twopi = 2.0 * np.pi
+# halfpi = 0.5 * np.pi
# vertices = path.vertices
# t0 = vertices[0:-1, 0]
# t1 = vertices[1: , 0]
-# td = npy.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
+# td = np.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
# maxtd = td.max()
-# interpolate = npy.ceil(maxtd / halfpi)
+# interpolate = np.ceil(maxtd / halfpi)
# print "interpolate", interpolate
# if interpolate > 1.0:
# vertices = self.interpolate(vertices, interpolate)
-# result = npy.zeros((len(vertices) * 3 - 2, 2), npy.float_)
-# codes = mpath.Path.CURVE4 * npy.ones((len(vertices) * 3 - 2, ), mpath.Path.code_type)
+# result = np.zeros((len(vertices) * 3 - 2, 2), np.float_)
+# codes = mpath.Path.CURVE4 * np.ones((len(vertices) * 3 - 2, ), mpath.Path.code_type)
# result[0] = vertices[0]
# codes[0] = mpath.Path.MOVETO
-# kappa = 4.0 * ((npy.sqrt(2.0) - 1.0) / 3.0)
-# tkappa = npy.arctan(kappa)
-# hyp_kappa = npy.sqrt(kappa*kappa + 1.0)
+# kappa = 4.0 * ((np.sqrt(2.0) - 1.0) / 3.0)
+# tkappa = np.arctan(kappa)
+# hyp_kappa = np.sqrt(kappa*kappa + 1.0)
# t0 = vertices[0:-1, 0]
# t1 = vertices[1: , 0]
# r0 = vertices[0:-1, 1]
# r1 = vertices[1: , 1]
-# td = npy.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
-# td_scaled = td / (npy.pi * 0.5)
+# td = np.where(t1 > t0, t1 - t0, twopi - (t0 - t1))
+# td_scaled = td / (np.pi * 0.5)
# rd = r1 - r0
# r0kappa = r0 * kappa * td_scaled
# r1kappa = r1 * kappa * td_scaled
@@ -593,11 +593,11 @@
# result[1::3, 0] = t0 + (tkappa * td_scaled)
# result[1::3, 1] = r0*hyp_kappa
-# # result[1::3, 1] = r0 / npy.cos(tkappa * td_scaled) # npy.sqrt(r0*r0 + ravg_kappa*ravg_kappa)
+# # result[1::3, 1] = r0 / np.cos(tkappa * td_scaled) # np.sqrt(r0*r0 + ravg_kappa*ravg_kappa)
# result[2::3, 0] = t1 - (tkappa * td_scaled)
# result[2::3, 1] = r1*hyp_kappa
-# # result[2::3, 1] = r1 / npy.cos(tkappa * td_scaled) # npy.sqrt(r1*r1 + ravg_kappa*ravg_kappa)
+# # result[2::3, 1] = r1 / np.cos(tkappa * td_scaled) # np.sqrt(r1*r1 + ravg_kappa*ravg_kappa)
# result[3::3, 0] = t1
# result[3::3, 1] = r1
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-30 16:54:17
|
Revision: 8291
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8291&view=rev
Author: mdboom
Date: 2010-04-30 16:54:10 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
Leave in some extra debugging information related to fonts.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/font_manager.py
trunk/matplotlib/lib/matplotlib/mathtext.py
Modified: trunk/matplotlib/lib/matplotlib/font_manager.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/font_manager.py 2010-04-30 14:41:40 UTC (rev 8290)
+++ trunk/matplotlib/lib/matplotlib/font_manager.py 2010-04-30 16:54:10 UTC (rev 8291)
@@ -397,6 +397,11 @@
except ValueError:
self.size = size
+ def __repr__(self):
+ return "<Font '%s' (%s) %s %s %s %s>" % (
+ self.name, os.path.basename(self.fname), self.style, self.variant,
+ self.weight, self.stretch)
+
def ttfFontProperty(font):
"""
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py 2010-04-30 14:41:40 UTC (rev 8290)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py 2010-04-30 16:54:10 UTC (rev 8291)
@@ -849,11 +849,11 @@
fontname, uniindex = self._map_virtual_font(
fontname, font_class, uniindex)
+ new_fontname = fontname
+
# Only characters in the "Letter" class should be italicized in 'it'
# mode. Greek capital letters should be Roman.
if found_symbol:
- new_fontname = fontname
-
if fontname == 'it':
if uniindex < 0x10000:
unistring = unichr(uniindex)
@@ -883,8 +883,8 @@
else:
if fontname in ('it', 'regular') and isinstance(self, StixFonts):
return self._get_glyph('rm', font_class, sym, fontsize)
- warn("Font '%s' does not have a glyph for '%s'" %
- (fontname, sym.encode('ascii', 'backslashreplace')),
+ warn("Font '%s' does not have a glyph for '%s' [U%x]" %
+ (new_fontname, sym.encode('ascii', 'backslashreplace'), uniindex),
MathTextWarning)
warn("Substituting with a dummy symbol.", MathTextWarning)
fontname = 'rm'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-30 14:41:47
|
Revision: 8290
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8290&view=rev
Author: mdboom
Date: 2010-04-30 14:41:40 +0000 (Fri, 30 Apr 2010)
Log Message:
-----------
Use case-insensitive matching for font names in family set lists (rcParams font.serif, font.sans-serif etc.)
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/font_manager.py
Modified: trunk/matplotlib/lib/matplotlib/font_manager.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/font_manager.py 2010-04-29 21:43:53 UTC (rev 8289)
+++ trunk/matplotlib/lib/matplotlib/font_manager.py 2010-04-30 14:41:40 UTC (rev 8290)
@@ -1056,15 +1056,18 @@
No match will return 1.0.
"""
+ family2 = family2.lower()
for i, family1 in enumerate(families):
- if family1.lower() in font_family_aliases:
+ family1 = family1.lower()
+ if family1 in font_family_aliases:
if family1 == 'sans':
family1 == 'sans-serif'
options = rcParams['font.' + family1]
+ options = [x.lower() for x in options]
if family2 in options:
idx = options.index(family2)
return 0.1 * (float(idx) / len(options))
- elif family1.lower() == family2.lower():
+ elif family1 == family2:
return 0.0
return 1.0
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-29 21:43:59
|
Revision: 8289
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8289&view=rev
Author: efiring
Date: 2010-04-29 21:43:53 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
Line2D: don't use subslices with markevery
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/lines.py
Modified: trunk/matplotlib/lib/matplotlib/lines.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/lines.py 2010-04-29 16:18:09 UTC (rev 8288)
+++ trunk/matplotlib/lib/matplotlib/lines.py 2010-04-29 21:43:53 UTC (rev 8289)
@@ -456,7 +456,8 @@
self._subslice = False
if (self.axes and len(x) > 100 and self._is_sorted(x) and
self.axes.name == 'rectilinear' and
- self.axes.get_xscale() == 'linear'):
+ self.axes.get_xscale() == 'linear' and
+ self._markevery is None):
self._subslice = True
if hasattr(self, '_path'):
interpolation_steps = self._path._interpolation_steps
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-29 16:18:15
|
Revision: 8288
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8288&view=rev
Author: mdboom
Date: 2010-04-29 16:18:09 +0000 (Thu, 29 Apr 2010)
Log Message:
-----------
Fix bug with legends on non-linear scales. Reported by Shrividya Ravi.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/path.py
trunk/matplotlib/lib/matplotlib/transforms.py
Modified: trunk/matplotlib/lib/matplotlib/path.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/path.py 2010-04-28 20:59:13 UTC (rev 8287)
+++ trunk/matplotlib/lib/matplotlib/path.py 2010-04-29 16:18:09 UTC (rev 8288)
@@ -292,9 +292,13 @@
control points appropriately.
"""
from transforms import Bbox
+ path = self
if transform is not None:
transform = transform.frozen()
- return Bbox(get_path_extents(self, transform))
+ if not transform.is_affine:
+ path = self.transformed(transform)
+ transform = None
+ return Bbox(get_path_extents(path, transform))
def intersects_path(self, other, filled=True):
"""
@@ -506,8 +510,8 @@
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
+ 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
@@ -536,7 +540,7 @@
[SQRTHALF-MAGIC45, SQRTHALF+MAGIC45],
[MAGIC, 1.0],
[0.0, 1.0],
-
+
[0.0, -1.0]],
np.float_)
Modified: trunk/matplotlib/lib/matplotlib/transforms.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/transforms.py 2010-04-28 20:59:13 UTC (rev 8287)
+++ trunk/matplotlib/lib/matplotlib/transforms.py 2010-04-29 16:18:09 UTC (rev 8288)
@@ -1066,7 +1066,7 @@
"""
Used by C/C++ -based backends to get at the array matrix data.
"""
- return self.frozen().__array__()
+ raise NotImplementedError
def transform(self, values):
"""
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-28 20:59:19
|
Revision: 8287
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8287&view=rev
Author: efiring
Date: 2010-04-28 20:59:13 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
colorbar: set dividers to None in obsolete update_bruteforce
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/colorbar.py
Modified: trunk/matplotlib/lib/matplotlib/colorbar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/colorbar.py 2010-04-28 20:49:48 UTC (rev 8286)
+++ trunk/matplotlib/lib/matplotlib/colorbar.py 2010-04-28 20:59:13 UTC (rev 8287)
@@ -779,6 +779,7 @@
self.patch = None
self.solids = None
self.lines = None
+ self.dividers = None
self.set_alpha(mappable.get_alpha())
self.cmap = mappable.cmap
self.norm = mappable.norm
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-28 20:49:54
|
Revision: 8286
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8286&view=rev
Author: efiring
Date: 2010-04-28 20:49:48 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
colorbar: close 2986719 with small fixups and docstring expansion
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/colorbar.py
Modified: trunk/matplotlib/lib/matplotlib/colorbar.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/colorbar.py 2010-04-28 19:50:39 UTC (rev 8285)
+++ trunk/matplotlib/lib/matplotlib/colorbar.py 2010-04-28 20:49:48 UTC (rev 8286)
@@ -160,8 +160,9 @@
Draw a colorbar in an existing axes.
This is a base class for the :class:`Colorbar` class, which is the
- basis for the :func:`~matplotlib.pyplot.colorbar` method and pylab
- function.
+ basis for the :func:`~matplotlib.pyplot.colorbar` function and the
+ :meth:`~matplotlib.figure.Figure.colorbar` method, which are the
+ usual ways of creating a colorbar.
It is also useful by itself for showing a colormap. If the *cmap*
kwarg is given but *boundaries* and *values* are left as None,
@@ -411,6 +412,9 @@
if self.solids is not None:
self.solids.remove()
self.solids = col
+ if self.dividers is not None:
+ self.dividers.remove()
+ self.dividers = None
if self.drawedges:
self.dividers = collections.LineCollection(self._edges(X,Y),
colors=(mpl.rcParams['axes.edgecolor'],),
@@ -684,6 +688,17 @@
self.alpha = alpha
class Colorbar(ColorbarBase):
+ """
+ This class connects a :class:`ColorbarBase` to a
+ :class:`~matplotlib.cm.ScalarMappable` such as a
+ :class:`~matplotlib.image.AxesImage` generated via
+ :meth:`~matplotlib.axes.Axes.imshow`.
+
+ It is not intended to be instantiated directly; instead,
+ use :meth:`~matplotlib.figure.Figure.colorbar` or
+ :func:`~matplotlib.pyplot.colorbar` to make your colorbar.
+
+ """
def __init__(self, ax, mappable, **kw):
mappable.autoscale_None() # Ensure mappable.norm.vmin, vmax
# are set when colorbar is called,
@@ -747,20 +762,28 @@
def update_bruteforce(self, mappable):
'''
- Manually change any contour line colors. This is called
- when the image or contour plot to which this colorbar belongs
- is changed.
+ Destroy and rebuild the colorbar. This is
+ intended to become obsolete, and will probably be
+ deprecated and then removed. It is not called when
+ the pyplot.colorbar function or the Figure.colorbar
+ method are used to create the colorbar.
+
'''
# We are using an ugly brute-force method: clearing and
# redrawing the whole thing. The problem is that if any
# properties have been changed by methods other than the
# colorbar methods, those changes will be lost.
self.ax.cla()
+ # clearing the axes will delete outline, patch, solids, and lines:
+ self.outline = None
+ self.patch = None
+ self.solids = None
+ self.lines = None
+ self.set_alpha(mappable.get_alpha())
+ self.cmap = mappable.cmap
+ self.norm = mappable.norm
self.config_axis()
self.draw_all()
- #if self.vmin != self.norm.vmin or self.vmax != self.norm.vmax:
- # self.ax.cla()
- # self.draw_all()
if isinstance(self.mappable, contour.ContourSet):
CS = self.mappable
if not CS.filled:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|