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-04-28 19:50:45
|
Revision: 8285
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8285&view=rev
Author: mdboom
Date: 2010-04-28 19:50:39 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Remove extraneous debug print.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/text.py
Modified: trunk/matplotlib/lib/matplotlib/text.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/text.py 2010-04-28 19:50:11 UTC (rev 8284)
+++ trunk/matplotlib/lib/matplotlib/text.py 2010-04-28 19:50:39 UTC (rev 8285)
@@ -1942,7 +1942,6 @@
if self._bbox_patch:
posx, posy = self._x, self._y
- print posx, posy
x_box, y_box, w_box, h_box = _get_textbox(self, renderer)
self._bbox_patch.set_bounds(0., 0.,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-28 19:50:17
|
Revision: 8284
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8284&view=rev
Author: mdboom
Date: 2010-04-28 19:50:11 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Fix docstring formatting.
Modified Paths:
--------------
trunk/matplotlib/doc/mpl_toolkits/axes_grid/api/axis_artist_api.rst
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
Modified: trunk/matplotlib/doc/mpl_toolkits/axes_grid/api/axis_artist_api.rst
===================================================================
--- trunk/matplotlib/doc/mpl_toolkits/axes_grid/api/axis_artist_api.rst 2010-04-28 19:44:47 UTC (rev 8283)
+++ trunk/matplotlib/doc/mpl_toolkits/axes_grid/api/axis_artist_api.rst 2010-04-28 19:50:11 UTC (rev 8284)
@@ -1,6 +1,6 @@
:mod:`mpl_toolkits.axes_grid.axis_artist`
-=======================================
+=========================================
.. autoclass:: mpl_toolkits.axes_grid.axis_artist.AxisArtist
:members:
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-28 19:44:47 UTC (rev 8283)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-28 19:50:11 UTC (rev 8284)
@@ -1975,9 +1975,9 @@
Optional keyword arguments:
- ============ =====================================
+ ============ =========================================
Keyword Description
- ============ =====================================
+ ============ =========================================
*style* [ 'sci' (or 'scientific') | 'plain' ]
plain turns off scientific notation
*scilimits* (m, n), pair of integers; if *style*
@@ -1991,7 +1991,7 @@
numeric offset is specified, it will be
used.
*axis* [ 'x' | 'y' | 'both' ]
- ============ =====================================
+ ============ =========================================
Only the major ticks are affected.
If the method is called when the
Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
===================================================================
--- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-28 19:44:47 UTC (rev 8283)
+++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-28 19:50:11 UTC (rev 8284)
@@ -52,6 +52,7 @@
================ =========================================
*azim* Azimuthal viewing angle (default -60)
*elev* Elevation viewing angle (default 30)
+ ================ =========================================
'''
if rect is None:
@@ -349,9 +350,9 @@
the axes. Also optionally sets the mouse buttons for 3D rotation
and zooming.
- ============ ================================================
+ ============ =======================================================
Argument Description
- ============ ================================================
+ ============ =======================================================
*rotate_btn* The integer or list of integers specifying which mouse
button or buttons to use for 3D rotation of the axes.
Default = 1.
@@ -359,7 +360,8 @@
*zoom_btn* The integer or list of integers specifying which mouse
button or buttons to use to zoom the 3D axes.
Default = 3.
- ============ ================================================
+ ============ =======================================================
+
"""
self.button_pressed = None
canv = self.figure.canvas
@@ -636,22 +638,20 @@
but it also supports color mapping by supplying the *cmap*
argument.
- ========== ================================================
- Argument Description
- ========== ================================================
- *X*, *Y*, Data values as numpy.arrays
- *Z*
- *rstride* Array row stride (step size)
- *cstride* Array column stride (step size)
- *color* Color of the surface patches
- *cmap* A colormap for the surface patches.
- *facecolors* Face colors for the individual patches
- *norm* An instance of Normalize to map values to colors
- *vmin* Minimum value to map
- *vmax* Maximum value to map
- *shade* Whether to shade the facecolors, default:
- false when cmap specified, true otherwise
- ========== ================================================
+ ============= ================================================
+ Argument Description
+ ============= ================================================
+ *X*, *Y*, *Z* Data values as numpy.arrays
+ *rstride* Array row stride (step size)
+ *cstride* Array column stride (step size)
+ *color* Color of the surface patches
+ *cmap* A colormap for the surface patches.
+ *facecolors* Face colors for the individual patches
+ *norm* An instance of Normalize to map values to colors
+ *vmin* Minimum value to map
+ *vmax* Maximum value to map
+ *shade* Whether to shade the facecolors
+ ============= ================================================
Other arguments are passed on to
:func:`~mpl_toolkits.mplot3d.art3d.Poly3DCollection.__init__`
@@ -1083,16 +1083,21 @@
dx, dy, dz can be arrays or scalars.
*color* can be:
+
- A single color value, to color all bars the same color.
+
- An array of colors of length N bars, to color each bar
- independently.
- - An array of colors of length 6, to color the faces of the bars
- similarly.
+ independently.
+
+ - An array of colors of length 6, to color the faces of the
+ bars similarly.
+
- An array of colors of length 6 * N bars, to color each face
- independently.
+ independently.
- When coloring the faces of the boxes specifically, this is the order
- of the coloring:
+ When coloring the faces of the boxes specifically, this is
+ the order of the coloring:
+
1. -Z (bottom of box)
2. +Z (top of box)
3. -Y
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-28 19:44:53
|
Revision: 8283
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8283&view=rev
Author: efiring
Date: 2010-04-28 19:44:47 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Applied whitespace patch by Mark Roddy; closes 2993733.
Modified Paths:
--------------
trunk/matplotlib/examples/api/span_regions.py
trunk/matplotlib/examples/pylab_examples/usetex_demo.py
trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
trunk/matplotlib/lib/matplotlib/mlab.py
trunk/matplotlib/lib/matplotlib/pylab.py
trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
trunk/matplotlib/release/win32/data/setupwin.py
trunk/matplotlib/release/win32/data/setupwinegg.py
Modified: trunk/matplotlib/examples/api/span_regions.py
===================================================================
--- trunk/matplotlib/examples/api/span_regions.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/examples/api/span_regions.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -21,11 +21,11 @@
ax.axhline(0, color='black', lw=2)
collection = collections.BrokenBarHCollection.span_where(
- t, ymin=0, ymax=1, where=s1>0, facecolor='green', alpha=0.5)
+ t, ymin=0, ymax=1, where=s1>0, facecolor='green', alpha=0.5)
ax.add_collection(collection)
collection = collections.BrokenBarHCollection.span_where(
- t, ymin=-1, ymax=0, where=s1<0, facecolor='red', alpha=0.5)
+ t, ymin=-1, ymax=0, where=s1<0, facecolor='red', alpha=0.5)
ax.add_collection(collection)
Modified: trunk/matplotlib/examples/pylab_examples/usetex_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/usetex_demo.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/examples/pylab_examples/usetex_demo.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -41,8 +41,8 @@
pylab.yticks((0, 0.5, 1), ('0', '.5', '1'), color = 'k', size = 20)
## Right Y-axis labels
-pylab.text(1.05, 0.5, r"\bf{level set} $\phi$", {'color' : 'g', 'fontsize' : 20},
- horizontalalignment = 'left',
+pylab.text(1.05, 0.5, r"\bf{level set} $\phi$", {'color' : 'g', 'fontsize' : 20},
+ horizontalalignment = 'left',
verticalalignment = 'center',
rotation = 90,
clip_on = False)
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_cairo.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -138,8 +138,8 @@
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.")
+ if len(path.vertices) > 18980:
+ raise ValueError("The Cairo backend can not draw paths longer than 18980 points.")
ctx = gc.ctx
@@ -148,7 +148,7 @@
ctx.new_path()
self.convert_path(ctx, path, transform)
-
+
self._fill_and_stroke(ctx, rgbFace, gc.get_alpha())
def draw_image(self, gc, x, y, im):
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -241,7 +241,7 @@
self._resize_callback(event)
# compute desired figure size in inches
- dpival = self.figure.dpi
+ dpival = self.figure.dpi
winch = width/dpival
hinch = height/dpival
self.figure.set_size_inches(winch, hinch)
Modified: trunk/matplotlib/lib/matplotlib/mlab.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mlab.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/lib/matplotlib/mlab.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -2309,11 +2309,11 @@
if needheader:
while 1:
- # skip past any comments and consume one line of column header
- row = reader.next()
- if len(row) and row[0].startswith(comments):
- continue
- break
+ # skip past any comments and consume one line of column header
+ row = reader.next()
+ if len(row) and row[0].startswith(comments):
+ continue
+ break
# iterate over the remaining rows and convert the data to date
# objects, ints, or floats as approriate
Modified: trunk/matplotlib/lib/matplotlib/pylab.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pylab.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/lib/matplotlib/pylab.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -252,7 +252,7 @@
import numpy.ma as ma
def load(*args, **kwargs):
- raise NotImplementedError(load.__doc__)
+ raise NotImplementedError(load.__doc__)
load.__doc__ = """\
pylab no longer provides a load function, though the old pylab
function is still available as matplotlib.mlab.load (you can refer
@@ -265,7 +265,7 @@
def save(*args, **kwargs):
- raise NotImplementedError(save.__doc__)
+ raise NotImplementedError(save.__doc__)
save.__doc__ = """\
pylab no longer provides a save function, though the old pylab
function is still available as matplotlib.mlab.save (you can still
Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
===================================================================
--- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -779,7 +779,7 @@
shade = np.array(shade)
mask = ~np.isnan(shade)
- if len(shade[mask]) > 0:
+ if len(shade[mask]) > 0:
norm = Normalize(min(shade[mask]), max(shade[mask]))
if art3d.iscolor(color):
color = color.copy()
Modified: trunk/matplotlib/release/win32/data/setupwin.py
===================================================================
--- trunk/matplotlib/release/win32/data/setupwin.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/release/win32/data/setupwin.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -1,12 +1,12 @@
from distutils import cygwinccompiler
try:
- # Python 2.6
- # Replace the msvcr func to return an []
- cygwinccompiler.get_msvcr
- cygwinccompiler.get_msvcr = lambda: []
+ # Python 2.6
+ # Replace the msvcr func to return an []
+ cygwinccompiler.get_msvcr
+ cygwinccompiler.get_msvcr = lambda: []
except AttributeError:
- pass
+ pass
execfile('setup.py')
Modified: trunk/matplotlib/release/win32/data/setupwinegg.py
===================================================================
--- trunk/matplotlib/release/win32/data/setupwinegg.py 2010-04-28 19:17:17 UTC (rev 8282)
+++ trunk/matplotlib/release/win32/data/setupwinegg.py 2010-04-28 19:44:47 UTC (rev 8283)
@@ -1,13 +1,13 @@
from distutils import cygwinccompiler
try:
- # Python 2.6
- # Replace the msvcr func to return an empty list
- cygwinccompiler.get_msvcr
- cygwinccompiler.get_msvcr = lambda: []
+ # Python 2.6
+ # Replace the msvcr func to return an empty list
+ cygwinccompiler.get_msvcr
+ cygwinccompiler.get_msvcr = lambda: []
except AttributeError:
- pass
+ pass
from setuptools import setup
execfile('setup.py',
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-28 19:17:23
|
Revision: 8282
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8282&view=rev
Author: efiring
Date: 2010-04-28 19:17:17 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
savefig: make the "transparent" kwarg work as advertised
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/backend_bases.py
trunk/matplotlib/lib/matplotlib/figure.py
Modified: trunk/matplotlib/lib/matplotlib/backend_bases.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backend_bases.py 2010-04-28 18:14:06 UTC (rev 8281)
+++ trunk/matplotlib/lib/matplotlib/backend_bases.py 2010-04-28 19:17:17 UTC (rev 8282)
@@ -868,7 +868,7 @@
Backends need to implement a few specific methods in order to use their
own timing mechanisms so that the timer events are integrated into their
event loops.
-
+
Mandatory functions that must be implemented:
* _timer_start: Contains backend-specific code for starting the timer
* _timer_stop: Contains backend-specific code for stopping the timer
@@ -883,7 +883,7 @@
* _on_timer: This is the internal function that any timer object should
call, which will handle the task of running all callbacks that have
been set.
-
+
Attributes:
* interval: The time between timer events in milliseconds. Default
is 1000 ms.
@@ -1938,9 +1938,9 @@
Creates a new backend-specific subclass of :class:`backend_bases.Timer`.
This is useful for getting periodic events through the backend's native
event loop. Implemented only for backends with GUIs.
-
+
optional arguments:
-
+
*interval*
Timer interval in milliseconds
*callbacks*
Modified: trunk/matplotlib/lib/matplotlib/figure.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/figure.py 2010-04-28 18:14:06 UTC (rev 8281)
+++ trunk/matplotlib/lib/matplotlib/figure.py 2010-04-28 19:17:17 UTC (rev 8282)
@@ -1040,8 +1040,10 @@
backend. Most backends support png, pdf, ps, eps and svg.
*transparent*:
- If *True*, the figure patch and axes patches will all be
- transparent. This is useful, for example, for displaying
+ If *True*, the axes patches will all be transparent; the
+ figure patch will also be transparent unless facecolor
+ and/or edgecolor are specified via kwargs.
+ This is useful, for example, for displaying
a plot on top of a colored background on a web page. The
transparency of these patches will be restored to their
original values upon exit of this function.
@@ -1061,9 +1063,7 @@
"""
- for key in ('dpi', 'facecolor', 'edgecolor'):
- if key not in kwargs:
- kwargs[key] = rcParams['savefig.%s'%key]
+ kwargs.setdefault('dpi', rcParams['savefig.dpi'])
extension = rcParams['savefig.extension']
if args and is_string_like(args[0]) and '.' not in args[0] and extension != 'auto':
@@ -1072,20 +1072,25 @@
transparent = kwargs.pop('transparent', False)
if transparent:
- original_figure_alpha = self.patch.get_alpha()
- self.patch.set_alpha(0.0)
- original_axes_alpha = []
+ kwargs.setdefault('facecolor', 'none')
+ kwargs.setdefault('edgecolor', 'none')
+ original_axes_colors = []
for ax in self.axes:
patch = ax.patch
- original_axes_alpha.append(patch.get_alpha())
- patch.set_alpha(0.0)
+ original_axes_colors.append((patch.get_facecolor(),
+ patch.get_edgecolor()))
+ patch.set_facecolor('none')
+ patch.set_edgecolor('none')
+ else:
+ kwargs.setdefault('facecolor', rcParams['savefig.facecolor'])
+ kwargs.setdefault('edgecolor', rcParams['savefig.edgecolor'])
self.canvas.print_figure(*args, **kwargs)
if transparent:
- self.patch.set_alpha(original_figure_alpha)
- for ax, alpha in zip(self.axes, original_axes_alpha):
- ax.patch.set_alpha(alpha)
+ for ax, cc in zip(self.axes, original_axes_colors):
+ ax.patch.set_facecolor(cc[0])
+ ax.patch.set_edgecolor(cc[1])
@docstring.dedent_interpd
def colorbar(self, mappable, cax=None, ax=None, **kw):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-28 18:14:13
|
Revision: 8281
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8281&view=rev
Author: mdboom
Date: 2010-04-28 18:14:06 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Add interpolation option to fill between so intersections are not broken. Thanks to Joonas Paalasmaa (Bug #2978358) for the report and initial implementation.
Modified Paths:
--------------
trunk/matplotlib/examples/pylab_examples/fill_between_demo.py
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/matplotlib/pyplot.py
trunk/matplotlib/lib/matplotlib/tests/test_axes.py
Added Paths:
-----------
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg
Modified: trunk/matplotlib/examples/pylab_examples/fill_between_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/fill_between_demo.py 2010-04-28 15:08:19 UTC (rev 8280)
+++ trunk/matplotlib/examples/pylab_examples/fill_between_demo.py 2010-04-28 18:14:06 UTC (rev 8281)
@@ -29,16 +29,16 @@
fig = figure()
ax = fig.add_subplot(211)
ax.plot(x, y1, x, y2, color='black')
-ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
-ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
+ax.fill_between(x, y1, y2, where=y2>=y1, facecolor='green', interpolate=True)
+ax.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', interpolate=True)
ax.set_title('fill between where')
# Test support for masked arrays.
y2 = np.ma.masked_greater(y2, 1.0)
ax1 = fig.add_subplot(212, sharex=ax)
ax1.plot(x, y1, x, y2, color='black')
-ax1.fill_between(x, y1, y2, where=y2>=y1, facecolor='green')
-ax1.fill_between(x, y1, y2, where=y2<=y1, facecolor='red')
+ax1.fill_between(x, y1, y2, where=y2>=y1, facecolor='green', interpolate=True)
+ax1.fill_between(x, y1, y2, where=y2<=y1, facecolor='red', interpolate=True)
ax1.set_title('Now regions with y2>1 are masked')
# This example illustrates a problem; because of the data
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-28 15:08:19 UTC (rev 8280)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-28 18:14:06 UTC (rev 8281)
@@ -6157,7 +6157,8 @@
return patches
@docstring.dedent_interpd
- def fill_between(self, x, y1, y2=0, where=None, **kwargs):
+ def fill_between(self, x, y1, y2=0, where=None, interpolate=False,
+ **kwargs):
"""
call signature::
@@ -6181,6 +6182,12 @@
it is a a N length numpy boolean array and the fill will
only happen over the regions where ``where==True``
+ *interpolate*
+ If True, interpolate between the two lines to find the
+ 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`
@@ -6236,17 +6243,41 @@
N = len(xslice)
X = np.zeros((2*N+2, 2), np.float)
- # the purpose of the next two lines is for when y2 is a
- # scalar like 0 and we want the fill to go all the way
- # down to 0 even if none of the y1 sample points do
- X[0] = xslice[0], y2slice[0]
- X[N+1] = xslice[-1], y2slice[-1]
+ if interpolate:
+ def get_interp_point(ind):
+ x_values = x[ind-1:ind+1]
+ diff_values = y1[ind-1:ind+1] - y2[ind-1:ind+1]
+ y1_values = y1[ind-1:ind+1]
+ if len(diff_values) == 2:
+ if np.ma.is_masked(diff_values[1]):
+ 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:
+ # the purpose of the next two lines is for when y2 is a
+ # scalar like 0 and we want the fill to go all the way
+ # down to 0 even if none of the y1 sample points do
+ start = xslice[0], y2slice[0]
+ end = xslice[-1], y2slice[-1]
+
+ 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)
@@ -6256,7 +6287,6 @@
XY2 = np.array([x[where], y2[where]]).T
self.dataLim.update_from_data_xy(XY1, self.ignore_existing_data_limits,
updatex=True, updatey=True)
-
self.dataLim.update_from_data_xy(XY2, self.ignore_existing_data_limits,
updatex=False, updatey=True)
self.add_collection(collection)
Modified: trunk/matplotlib/lib/matplotlib/pyplot.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/pyplot.py 2010-04-28 15:08:19 UTC (rev 8280)
+++ trunk/matplotlib/lib/matplotlib/pyplot.py 2010-04-28 18:14:06 UTC (rev 8281)
@@ -2049,7 +2049,7 @@
# This function was autogenerated by boilerplate.py. Do not edit as
# changes will be lost
@autogen_docstring(Axes.fill_between)
-def fill_between(x, y1, y2=0, where=None, hold=None, **kwargs):
+def fill_between(x, y1, y2=0, where=None, interpolate=False, hold=None, **kwargs):
ax = gca()
# allow callers to override the hold state by passing hold=True|False
washold = ax.ishold()
@@ -2057,7 +2057,7 @@
if hold is not None:
ax.hold(hold)
try:
- ret = ax.fill_between(x, y1, y2, where, **kwargs)
+ ret = ax.fill_between(x, y1, y2, where, interpolate, **kwargs)
draw_if_interactive()
finally:
ax.hold(washold)
Added: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf
===================================================================
(Binary files differ)
Property changes on: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png
===================================================================
(Binary files differ)
Property changes on: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg (rev 0)
+++ trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg 2010-04-28 18:14:06 UTC (rev 8281)
@@ -0,0 +1,763 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Created with matplotlib (http://matplotlib.sourceforge.net/) -->
+<svg width="576pt" height="432pt" viewBox="0 0 576 432"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.1"
+ id="svg1">
+<filter id="colorAdd"><feComposite in="SourceGraphic" in2="BackgroundImage" operator="arithmetic" k2="1" k3="1"/></filter>
+<g id="figure1">
+<g id="patch1">
+<path style="fill: #ffffff; stroke: #ffffff; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M0.000000 432.000000L576.000000 432.000000L576.000000 0.000000
+L0.000000 0.000000L0.000000 432.000000"/>
+</g>
+<g id="axes1">
+<g id="patch2">
+<path style="fill: #ffffff; opacity: 1.000000" d="M72.000000 200.290909L518.400000 200.290909L518.400000 43.200000
+L72.000000 43.200000L72.000000 200.290909"/>
+</g>
+<g id="PolyCollection1">
+<defs>
+<path id="coll0_0_aaf56935a2c13518ed60e01cdc1dee73" d="M72.000000 -310.254545L72.000000 -310.254545L76.464000 -316.817449
+L80.928000 -323.276852L85.392000 -329.530886L89.856000 -335.480920
+L94.320000 -341.033119L98.784000 -346.099921L103.248000 -350.601421
+L107.712000 -354.466626L112.176000 -357.634580L112.508717 -357.815006
+L112.176000 -358.670796L107.712000 -367.110587L103.248000 -371.977904
+L98.784000 -372.966916L94.320000 -370.015479L89.856000 -363.309042
+L85.392000 -353.268996L80.928000 -340.526195L76.464000 -325.881314
+L72.000000 -310.254545z"/>
+<path id="coll0_1_a4538251d9ee85a3e02c1608986ad8bb" d="M183.600000 -310.254545L188.064000 -303.691642L192.528000 -297.232239
+L196.992000 -290.978205L201.456000 -285.028171L205.920000 -279.475972
+L210.384000 -274.409170L214.848000 -269.907670L219.312000 -266.042465
+L223.776000 -262.874511L228.240000 -260.453768L232.704000 -258.818413
+L237.168000 -257.994237L241.632000 -257.994237L246.096000 -258.818413
+L250.560000 -260.453768L254.691283 -262.694085L250.560000 -273.320258
+L246.096000 -287.122937L241.632000 -302.379061L237.168000 -318.130030
+L232.704000 -333.386154L228.240000 -347.188833L223.776000 -358.670796
+L219.312000 -367.110587L214.848000 -371.977904L210.384000 -372.966916
+L205.920000 -370.015479L201.456000 -363.309042L196.992000 -353.268996
+L192.528000 -340.526195L188.064000 -325.881314z"/>
+<path id="coll0_2_7e1bc78ca422414c858b233668c6bc42" d="M295.200000 -310.254545L299.664000 -316.817449L304.128000 -323.276852
+L308.592000 -329.530886L313.056000 -335.480920L317.520000 -341.033119
+L321.984000 -346.099921L326.448000 -350.601421L330.912000 -354.466626
+L335.376000 -357.634580L335.708717 -357.815006L335.376000 -358.670796
+L330.912000 -367.110587L326.448000 -371.977904L321.984000 -372.966916
+L317.520000 -370.015479L313.056000 -363.309042L308.592000 -353.268996
+L304.128000 -340.526195L299.664000 -325.881314z"/>
+<path id="coll0_3_c3b5c2b0e85ad5a4572d45dacb38da0e" d="M406.800000 -310.254545L411.264000 -303.691642L415.728000 -297.232239
+L420.192000 -290.978205L424.656000 -285.028171L429.120000 -279.475972
+L433.584000 -274.409170L438.048000 -269.907670L442.512000 -266.042465
+L446.976000 -262.874511L451.440000 -260.453768L455.904000 -258.818413
+L460.368000 -257.994237L464.832000 -257.994237L469.296000 -258.818413
+L473.760000 -260.453768L477.891283 -262.694085L473.760000 -273.320258
+L469.296000 -287.122937L464.832000 -302.379061L460.368000 -318.130030
+L455.904000 -333.386154L451.440000 -347.188833L446.976000 -358.670796
+L442.512000 -367.110587L438.048000 -371.977904L433.584000 -372.966916
+L429.120000 -370.015479L424.656000 -363.309042L420.192000 -353.268996
+L415.728000 -340.526195L411.264000 -325.881314z"/>
+</defs>
+<defs>
+ <clipPath id="pad2bdf97e9fd82d59a5c57b91897f3de">
+<rect x="72.000000" y="43.200000" width="446.400000" height="157.090909"/>
+ </clipPath>
+</defs><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll0_0_aaf56935a2c13518ed60e01cdc1dee73" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll0_1_a4538251d9ee85a3e02c1608986ad8bb" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll0_2_7e1bc78ca422414c858b233668c6bc42" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll0_3_c3b5c2b0e85ad5a4572d45dacb38da0e" x="0.000000" y="432.000000"/>
+</g></g>
+<g id="PolyCollection2">
+<defs>
+<path id="coll1_0_59cf1511b6d916e21dd73a7f3e4d31ec" d="M72.000000 -310.254545L72.000000 -310.254545L72.000000 -310.254545
+L72.000000 -310.254545z"/>
+<path id="coll1_1_e39ea564cf8eb3ca5381599ae079b29b" d="M112.508717 -357.815006L116.640000 -360.055323L121.104000 -361.690678
+L125.568000 -362.514854L130.032000 -362.514854L134.496000 -361.690678
+L138.960000 -360.055323L143.424000 -357.634580L147.888000 -354.466626
+L152.352000 -350.601421L156.816000 -346.099921L161.280000 -341.033119
+L165.744000 -335.480920L170.208000 -329.530886L174.672000 -323.276852
+L179.136000 -316.817449L183.600000 -310.254545L183.600000 -310.254545
+L183.600000 -310.254545L179.136000 -294.627777L174.672000 -279.982896
+L170.208000 -267.240095L165.744000 -257.200049L161.280000 -250.493612
+L156.816000 -247.542175L152.352000 -248.531187L147.888000 -253.398504
+L143.424000 -261.838295L138.960000 -273.320258L134.496000 -287.122937
+L130.032000 -302.379061L125.568000 -318.130030L121.104000 -333.386154
+L116.640000 -347.188833z"/>
+<path id="coll1_2_0f64580eb1567b0582e386cb71b8b9cd" d="M254.691283 -262.694085L255.024000 -262.874511L259.488000 -266.042465
+L263.952000 -269.907670L268.416000 -274.409170L272.880000 -279.475972
+L277.344000 -285.028171L281.808000 -290.978205L286.272000 -297.232239
+L290.736000 -303.691642L295.200000 -310.254545L295.200000 -310.254545
+L295.200000 -310.254545L290.736000 -294.627777L286.272000 -279.982896
+L281.808000 -267.240095L277.344000 -257.200049L272.880000 -250.493612
+L268.416000 -247.542175L263.952000 -248.531187L259.488000 -253.398504
+L255.024000 -261.838295z"/>
+<path id="coll1_3_ca80bd8ff98b9208864e7e898d4b563e" d="M335.708717 -357.815006L339.840000 -360.055323L344.304000 -361.690678
+L348.768000 -362.514854L353.232000 -362.514854L357.696000 -361.690678
+L362.160000 -360.055323L366.624000 -357.634580L371.088000 -354.466626
+L375.552000 -350.601421L380.016000 -346.099921L384.480000 -341.033119
+L388.944000 -335.480920L393.408000 -329.530886L397.872000 -323.276852
+L402.336000 -316.817449L406.800000 -310.254545L406.800000 -310.254545
+L406.800000 -310.254545L402.336000 -294.627777L397.872000 -279.982896
+L393.408000 -267.240095L388.944000 -257.200049L384.480000 -250.493612
+L380.016000 -247.542175L375.552000 -248.531187L371.088000 -253.398504
+L366.624000 -261.838295L362.160000 -273.320258L357.696000 -287.122937
+L353.232000 -302.379061L348.768000 -318.130030L344.304000 -333.386154
+L339.840000 -347.188833z"/>
+<path id="coll1_4_c1ff4955e7872f3ca161dc94104c2fad" d="M477.891283 -262.694085L478.224000 -262.874511L482.688000 -266.042465
+L487.152000 -269.907670L491.616000 -274.409170L496.080000 -279.475972
+L500.544000 -285.028171L505.008000 -290.978205L509.472000 -297.232239
+L513.936000 -303.691642L513.936000 -303.691642L513.936000 -294.627777
+L509.472000 -279.982896L505.008000 -267.240095L500.544000 -257.200049
+L496.080000 -250.493612L491.616000 -247.542175L487.152000 -248.531187
+L482.688000 -253.398504L478.224000 -261.838295z"/>
+</defs>
+<g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll1_0_59cf1511b6d916e21dd73a7f3e4d31ec" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll1_1_e39ea564cf8eb3ca5381599ae079b29b" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll1_2_0f64580eb1567b0582e386cb71b8b9cd" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll1_3_ca80bd8ff98b9208864e7e898d4b563e" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll1_4_c1ff4955e7872f3ca161dc94104c2fad" x="0.000000" y="432.000000"/>
+</g></g>
+<g id="line2d1">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)" d="M72.000000 121.745455L76.464000 115.182551L80.928000 108.723148
+L85.392000 102.469114L89.856000 96.519080L94.320000 90.966881
+L98.784000 85.900079L103.248000 81.398579L107.712000 77.533374
+L112.176000 74.365420L116.640000 71.944677L121.104000 70.309322
+L125.568000 69.485146L130.032000 69.485146L134.496000 70.309322
+L138.960000 71.944677L143.424000 74.365420L147.888000 77.533374
+L152.352000 81.398579L156.816000 85.900079L161.280000 90.966881
+L165.744000 96.519080L170.208000 102.469114L174.672000 108.723148
+L179.136000 115.182551L183.600000 121.745455L188.064000 128.308358
+L192.528000 134.767761L196.992000 141.021795L201.456000 146.971829
+L205.920000 152.524028L210.384000 157.590830L214.848000 162.092330
+L219.312000 165.957535L223.776000 169.125489L228.240000 171.546232
+L232.704000 173.181587L237.168000 174.005763L241.632000 174.005763
+L246.096000 173.181587L250.560000 171.546232L255.024000 169.125489
+L259.488000 165.957535L263.952000 162.092330L268.416000 157.590830
+L272.880000 152.524028L277.344000 146.971829L281.808000 141.021795
+L286.272000 134.767761L290.736000 128.308358L295.200000 121.745455
+L299.664000 115.182551L304.128000 108.723148L308.592000 102.469114
+L313.056000 96.519080L317.520000 90.966881L321.984000 85.900079
+L326.448000 81.398579L330.912000 77.533374L335.376000 74.365420
+L339.840000 71.944677L344.304000 70.309322L348.768000 69.485146
+L353.232000 69.485146L357.696000 70.309322L362.160000 71.944677
+L366.624000 74.365420L371.088000 77.533374L375.552000 81.398579
+L380.016000 85.900079L384.480000 90.966881L388.944000 96.519080
+L393.408000 102.469114L397.872000 108.723148L402.336000 115.182551
+L406.800000 121.745455L411.264000 128.308358L415.728000 134.767761
+L420.192000 141.021795L424.656000 146.971829L429.120000 152.524028
+L433.584000 157.590830L438.048000 162.092330L442.512000 165.957535
+L446.976000 169.125489L451.440000 171.546232L455.904000 173.181587
+L460.368000 174.005763L464.832000 174.005763L469.296000 173.181587
+L473.760000 171.546232L478.224000 169.125489L482.688000 165.957535
+L487.152000 162.092330L491.616000 157.590830L496.080000 152.524028
+L500.544000 146.971829L505.008000 141.021795L509.472000 134.767761
+L513.936000 128.308358"/>
+</g>
+<g id="line2d2">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pad2bdf97e9fd82d59a5c57b91897f3de)" d="M72.000000 121.745455L76.464000 106.118686L80.928000 91.473805
+L85.392000 78.731004L89.856000 68.690958L94.320000 61.984521
+L98.784000 59.033084L103.248000 60.022096L107.712000 64.889413
+L112.176000 73.329204L116.640000 84.811167L121.104000 98.613846
+L125.568000 113.869970L130.032000 129.620939L134.496000 144.877063
+L138.960000 158.679742L143.424000 170.161705L147.888000 178.601496
+L152.352000 183.468813L156.816000 184.457825L161.280000 181.506388
+L165.744000 174.799951L170.208000 164.759905L174.672000 152.017104
+L179.136000 137.372223L183.600000 121.745455L188.064000 106.118686
+L192.528000 91.473805L196.992000 78.731004L201.456000 68.690958
+L205.920000 61.984521L210.384000 59.033084L214.848000 60.022096
+L219.312000 64.889413L223.776000 73.329204L228.240000 84.811167
+L232.704000 98.613846L237.168000 113.869970L241.632000 129.620939
+L246.096000 144.877063L250.560000 158.679742L255.024000 170.161705
+L259.488000 178.601496L263.952000 183.468813L268.416000 184.457825
+L272.880000 181.506388L277.344000 174.799951L281.808000 164.759905
+L286.272000 152.017104L290.736000 137.372223L295.200000 121.745455
+L299.664000 106.118686L304.128000 91.473805L308.592000 78.731004
+L313.056000 68.690958L317.520000 61.984521L321.984000 59.033084
+L326.448000 60.022096L330.912000 64.889413L335.376000 73.329204
+L339.840000 84.811167L344.304000 98.613846L348.768000 113.869970
+L353.232000 129.620939L357.696000 144.877063L362.160000 158.679742
+L366.624000 170.161705L371.088000 178.601496L375.552000 183.468813
+L380.016000 184.457825L384.480000 181.506388L388.944000 174.799951
+L393.408000 164.759905L397.872000 152.017104L402.336000 137.372223
+L406.800000 121.745455L411.264000 106.118686L415.728000 91.473805
+L420.192000 78.731004L424.656000 68.690958L429.120000 61.984521
+L433.584000 59.033084L438.048000 60.022096L442.512000 64.889413
+L446.976000 73.329204L451.440000 84.811167L455.904000 98.613846
+L460.368000 113.869970L464.832000 129.620939L469.296000 144.877063
+L473.760000 158.679742L478.224000 170.161705L482.688000 178.601496
+L487.152000 183.468813L491.616000 184.457825L496.080000 181.506388
+L500.544000 174.799951L505.008000 164.759905L509.472000 152.017104
+L513.936000 137.372223"/>
+</g>
+<g id="matplotlib.axis1">
+<g id="xtick1">
+<g id="line2d3">
+<defs><path id="m30e32995789d870ad79a2e54c91cf9c6" d="M0.000000 0.000000L0.000000 -4.000000"/></defs>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="72.000000" y="200.290909"/>
+</g></g>
+<g id="line2d4">
+<defs><path id="m9281cae24120827b11d5ea8a7ad3e96b" d="M0.000000 0.000000L0.000000 4.000000"/></defs>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="72.000000" y="43.200000"/>
+</g></g>
+<g id="text1">
+<defs>
+<path id="c_7a2040fe3b94fcd41d0a72c84e93b115" d="M31.781250 -66.406250q-7.609375 0.000000 -11.453125 7.500000q-3.828125 7.484375 -3.828125 22.531250q0.000000 14.984375 3.828125 22.484375q3.843750 7.500000 11.453125 7.500000q7.671875 0.000000 11.500000 -7.500000q3.843750 -7.500000 3.843750 -22.484375q0.000000 -15.046875 -3.843750 -22.531250q-3.828125 -7.500000 -11.500000 -7.500000M31.781250 -74.218750q12.265625 0.000000 18.734375 9.703125q6.468750 9.687500 6.468750 28.140625q0.000000 18.406250 -6.468750 28.109375q-6.468750 9.687500 -18.734375 9.687500q-12.250000 0.000000 -18.718750 -9.687500q-6.468750 -9.703125 -6.468750 -28.109375q0.000000 -18.453125 6.468750 -28.140625q6.468750 -9.703125 18.718750 -9.703125"/>
+<path id="c_ed3e21196fb739f392806f09ca0594ef" d="M10.687500 -12.406250l10.312500 0.000000l0.000000 12.406250l-10.312500 0.000000z"/>
+</defs>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(63.250000,213.197159)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick2">
+<g id="line2d5">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="183.600000" y="200.290909"/>
+</g></g>
+<g id="line2d6">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="183.600000" y="43.200000"/>
+</g></g>
+<g id="text2">
+<defs>
+<path id="c_1260a2df50f305f3db244e29828f968e" d="M10.796875 -72.906250l38.718750 0.000000l0.000000 8.312500l-29.687500 0.000000l0.000000 17.859375q2.140625 -0.734375 4.281250 -1.093750q2.156250 -0.359375 4.312500 -0.359375q12.203125 0.000000 19.328125 6.687500q7.140625 6.687500 7.140625 18.109375q0.000000 11.765625 -7.328125 18.296875q-7.328125 6.515625 -20.656250 6.515625q-4.593750 0.000000 -9.359375 -0.781250q-4.750000 -0.781250 -9.828125 -2.343750l0.000000 -9.921875q4.390625 2.390625 9.078125 3.562500q4.687500 1.171875 9.906250 1.171875q8.453125 0.000000 13.375000 -4.437500q4.937500 -4.437500 4.937500 -12.062500q0.000000 -7.609375 -4.937500 -12.046875q-4.921875 -4.453125 -13.375000 -4.453125q-3.953125 0.000000 -7.890625 0.875000q-3.921875 0.875000 -8.015625 2.734375z"/>
+</defs>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(174.975000,213.197159)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick3">
+<g id="line2d7">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="295.200000" y="200.290909"/>
+</g></g>
+<g id="line2d8">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="295.200000" y="43.200000"/>
+</g></g>
+<g id="text3">
+<defs>
+<path id="c_42baa63129a918535c52adb20d687ea7" d="M12.406250 -8.296875l16.109375 0.000000l0.000000 -55.625000l-17.531250 3.515625l0.000000 -8.984375l17.437500 -3.515625l9.859375 0.000000l0.000000 64.609375l16.109375 0.000000l0.000000 8.296875l-41.984375 0.000000z"/>
+</defs>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(286.707812,213.197159)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick4">
+<g id="line2d9">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="406.800000" y="200.290909"/>
+</g></g>
+<g id="line2d10">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="406.800000" y="43.200000"/>
+</g></g>
+<g id="text4">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(398.432812,213.040909)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick5">
+<g id="line2d11">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="518.400000" y="200.290909"/>
+</g></g>
+<g id="line2d12">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="518.400000" y="43.200000"/>
+</g></g>
+<g id="text5">
+<defs>
+<path id="c_ed3f3ed3ebfbd18bcb9c012009a68ad1" d="M19.187500 -8.296875l34.421875 0.000000l0.000000 8.296875l-46.281250 0.000000l0.000000 -8.296875q5.609375 -5.812500 15.296875 -15.593750q9.703125 -9.796875 12.187500 -12.640625q4.734375 -5.312500 6.609375 -9.000000q1.890625 -3.687500 1.890625 -7.250000q0.000000 -5.812500 -4.078125 -9.468750q-4.078125 -3.671875 -10.625000 -3.671875q-4.640625 0.000000 -9.796875 1.609375q-5.140625 1.609375 -11.000000 4.890625l0.000000 -9.968750q5.953125 -2.390625 11.125000 -3.609375q5.187500 -1.218750 9.484375 -1.218750q11.328125 0.000000 18.062500 5.671875q6.734375 5.656250 6.734375 15.125000q0.000000 4.500000 -1.687500 8.531250q-1.671875 4.015625 -6.125000 9.484375q-1.218750 1.421875 -7.765625 8.187500q-6.531250 6.765625 -18.453125 18.921875"/>
+</defs>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(509.689062,213.197159)scale(0.120000)">
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+</g>
+<g id="matplotlib.axis2">
+<g id="ytick1">
+<g id="line2d13">
+<defs><path id="m3400efa6b1638b3fea9e19e898273957" d="M0.000000 0.000000L4.000000 0.000000"/></defs>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="200.290909"/>
+</g></g>
+<g id="line2d14">
+<defs><path id="m20b58b2501143cb5e0a5e8f1ef6f1643" d="M0.000000 0.000000L-4.000000 0.000000"/></defs>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="200.290909"/>
+</g></g>
+<g id="text6">
+<defs>
+<path id="c_6a8d56c819c37117ab4cf023bec22a5a" d="M10.593750 -35.500000l62.593750 0.000000l0.000000 8.296875l-62.593750 0.000000z"/>
+</defs>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(41.156250,204.579972)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick2">
+<g id="line2d15">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="174.109091"/>
+</g></g>
+<g id="line2d16">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="174.109091"/>
+</g></g>
+<g id="text7">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(40.906250,178.476278)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick3">
+<g id="line2d17">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="147.927273"/>
+</g></g>
+<g id="line2d18">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="147.927273"/>
+</g></g>
+<g id="text8">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(41.156250,152.294460)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick4">
+<g id="line2d19">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="121.745455"/>
+</g></g>
+<g id="line2d20">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="121.745455"/>
+</g></g>
+<g id="text9">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(50.500000,126.112642)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="ytick5">
+<g id="line2d21">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="95.563636"/>
+</g></g>
+<g id="line2d22">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="95.563636"/>
+</g></g>
+<g id="text10">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(50.750000,99.930824)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="ytick6">
+<g id="line2d23">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="69.381818"/>
+</g></g>
+<g id="line2d24">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="69.381818"/>
+</g></g>
+<g id="text11">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(51.015625,73.749006)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="ytick7">
+<g id="line2d25">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="43.200000"/>
+</g></g>
+<g id="line2d26">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="43.200000"/>
+</g></g>
+<g id="text12">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(51.265625,47.489062)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+</g>
+<g id="patch3">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 43.200000L518.400000 43.200000"/>
+</g>
+<g id="patch4">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M518.400000 200.290909L518.400000 43.200000"/>
+</g>
+<g id="patch5">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 200.290909L518.400000 200.290909"/>
+</g>
+<g id="patch6">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 200.290909L72.000000 43.200000"/>
+</g>
+</g>
+<g id="axes2">
+<g id="patch7">
+<path style="fill: #ffffff; opacity: 1.000000" d="M72.000000 388.800000L518.400000 388.800000L518.400000 231.709091
+L72.000000 231.709091L72.000000 388.800000"/>
+</g>
+<g id="PolyCollection3">
+<defs>
+<path id="coll2_0_46fd974f6d18f5a0a68d531beb577700" d="M72.000000 -137.454545L72.000000 -137.454545L76.464000 -145.330030
+L80.928000 -153.081314L85.392000 -160.586154L85.392000 -160.586154
+L85.392000 -189.071887L80.928000 -173.780524L76.464000 -156.206667
+L72.000000 -137.454545z"/>
+<path id="coll2_1_8be4f92688f0eba5fa3fdb87085b7f86" d="M112.176000 -194.310587L112.176000 -194.310587L112.508717 -194.527099
+L112.176000 -195.554046z"/>
+<path id="coll2_2_20ec3575585369c6307e012db84037fd" d="M183.600000 -137.454545L188.064000 -129.579061L192.528000 -121.827777
+L196.992000 -114.322937L196.992000 -114.322937L196.992000 -189.071887
+L192.528000 -173.780524L188.064000 -156.206667z"/>
+<path id="coll2_3_23b0f9263c46c9ceec1f92c96a9227b4" d="M223.776000 -80.598504L223.776000 -80.598504L228.240000 -77.693612
+L232.704000 -75.731187L237.168000 -74.742175L241.632000 -74.742175
+L246.096000 -75.731187L250.560000 -77.693612L254.691283 -80.381992
+L250.560000 -93.133400L246.096000 -109.696616L241.632000 -128.003964
+L237.168000 -146.905127L232.704000 -165.212475L228.240000 -181.775691
+L223.776000 -195.554046z"/>
+<path id="coll2_4_e39c3b124eb232f8f64f9f24c1f7a81b" d="M295.200000 -137.454545L299.664000 -145.330030L304.128000 -153.081314
+L308.592000 -160.586154L308.592000 -160.586154L308.592000 -189.071887
+L304.128000 -173.780524L299.664000 -156.206667z"/>
+<path id="coll2_5_a3b93d11f806ad2797c2a4e1c65e9be3" d="M335.376000 -194.310587L335.376000 -194.310587L335.708717 -194.527099
+L335.376000 -195.554046z"/>
+<path id="coll2_6_48770cc756a14ea59a12220750586725" d="M406.800000 -137.454545L411.264000 -129.579061L415.728000 -121.827777
+L420.192000 -114.322937L420.192000 -114.322937L420.192000 -189.071887
+L415.728000 -173.780524L411.264000 -156.206667z"/>
+<path id="coll2_7_66eac2d1cfb76197e93f61741c9bda26" d="M446.976000 -80.598504L446.976000 -80.598504L451.440000 -77.693612
+L455.904000 -75.731187L460.368000 -74.742175L464.832000 -74.742175
+L469.296000 -75.731187L473.760000 -77.693612L477.891283 -80.381992
+L473.760000 -93.133400L469.296000 -109.696616L464.832000 -128.003964
+L460.368000 -146.905127L455.904000 -165.212475L451.440000 -181.775691
+L446.976000 -195.554046z"/>
+</defs>
+<defs>
+ <clipPath id="pdceb94b59b302b6d614f8fc54d3b8e04">
+<rect x="72.000000" y="231.709091" width="446.400000" height="157.090909"/>
+ </clipPath>
+</defs><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_0_46fd974f6d18f5a0a68d531beb577700" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_1_8be4f92688f0eba5fa3fdb87085b7f86" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_2_20ec3575585369c6307e012db84037fd" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_3_23b0f9263c46c9ceec1f92c96a9227b4" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_4_e39c3b124eb232f8f64f9f24c1f7a81b" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_5_a3b93d11f806ad2797c2a4e1c65e9be3" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_6_48770cc756a14ea59a12220750586725" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #008000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll2_7_66eac2d1cfb76197e93f61741c9bda26" x="0.000000" y="432.000000"/>
+</g></g>
+<g id="PolyCollection4">
+<defs>
+<path id="coll3_0_94785b50af4b70a86b59016efebda6fa" d="M72.000000 -137.454545L72.000000 -137.454545L72.000000 -137.454545
+L72.000000 -137.454545z"/>
+<path id="coll3_1_b89b074290be78a074730e88a9f8da14" d="M112.508717 -194.527099L116.640000 -197.215479L121.104000 -199.177904
+L125.568000 -200.166916L130.032000 -200.166916L134.496000 -199.177904
+L138.960000 -197.215479L143.424000 -194.310587L147.888000 -190.509042
+L152.352000 -185.870796L156.816000 -180.468996L161.280000 -174.388833
+L165.744000 -167.726195L170.208000 -160.586154L174.672000 -153.081314
+L179.136000 -145.330030L183.600000 -137.454545L183.600000 -137.454545
+L183.600000 -137.454545L179.136000 -118.702424L174.672000 -101.128567
+L170.208000 -85.837204L165.744000 -73.789150L161.280000 -65.741426
+L156.816000 -62.199701L152.352000 -63.386515L147.888000 -69.227295
+L143.424000 -79.355045L138.960000 -93.133400L134.496000 -109.696616
+L130.032000 -128.003964L125.568000 -146.905127L121.104000 -165.212475
+L116.640000 -181.775691z"/>
+<path id="coll3_2_300df8223ffbe600e5ec6d3660361009" d="M254.691283 -80.381992L255.024000 -80.598504L259.488000 -84.400049
+L263.952000 -89.038295L268.416000 -94.440095L272.880000 -100.520258
+L277.344000 -107.182896L281.808000 -114.322937L286.272000 -121.827777
+L290.736000 -129.579061L295.200000 -137.454545L295.200000 -137.454545
+L295.200000 -137.454545L290.736000 -118.702424L286.272000 -101.128567
+L281.808000 -85.837204L277.344000 -73.789150L272.880000 -65.741426
+L268.416000 -62.199701L263.952000 -63.386515L259.488000 -69.227295
+L255.024000 -79.355045z"/>
+<path id="coll3_3_ea9f940b34b4b127ddaeae93dbac851f" d="M335.708717 -194.527099L339.840000 -197.215479L344.304000 -199.177904
+L348.768000 -200.166916L353.232000 -200.166916L357.696000 -199.177904
+L362.160000 -197.215479L366.624000 -194.310587L371.088000 -190.509042
+L375.552000 -185.870796L380.016000 -180.468996L384.480000 -174.388833
+L388.944000 -167.726195L393.408000 -160.586154L397.872000 -153.081314
+L402.336000 -145.330030L406.800000 -137.454545L406.800000 -137.454545
+L406.800000 -137.454545L402.336000 -118.702424L397.872000 -101.128567
+L393.408000 -85.837204L388.944000 -73.789150L384.480000 -65.741426
+L380.016000 -62.199701L375.552000 -63.386515L371.088000 -69.227295
+L366.624000 -79.355045L362.160000 -93.133400L357.696000 -109.696616
+L353.232000 -128.003964L348.768000 -146.905127L344.304000 -165.212475
+L339.840000 -181.775691z"/>
+<path id="coll3_4_fca770bf0e4a6dd8e02ca3518b412a67" d="M477.891283 -80.381992L478.224000 -80.598504L482.688000 -84.400049
+L487.152000 -89.038295L491.616000 -94.440095L496.080000 -100.520258
+L500.544000 -107.182896L505.008000 -114.322937L509.472000 -121.827777
+L513.936000 -129.579061L513.936000 -129.579061L513.936000 -118.702424
+L509.472000 -101.128567L505.008000 -85.837204L500.544000 -73.789150
+L496.080000 -65.741426L491.616000 -62.199701L487.152000 -63.386515
+L482.688000 -69.227295L478.224000 -79.355045z"/>
+</defs>
+<g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll3_0_94785b50af4b70a86b59016efebda6fa" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll3_1_b89b074290be78a074730e88a9f8da14" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll3_2_300df8223ffbe600e5ec6d3660361009" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll3_3_ea9f940b34b4b127ddaeae93dbac851f" x="0.000000" y="432.000000"/>
+</g><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#coll3_4_fca770bf0e4a6dd8e02ca3518b412a67" x="0.000000" y="432.000000"/>
+</g></g>
+<g id="line2d27">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)" d="M72.000000 294.545455L76.464000 286.669970L80.928000 278.918686
+L85.392000 271.413846L89.856000 264.273805L94.320000 257.611167
+L98.784000 251.531004L103.248000 246.129204L107.712000 241.490958
+L112.176000 237.689413L116.640000 234.784521L121.104000 232.822096
+L125.568000 231.833084L130.032000 231.833084L134.496000 232.822096
+L138.960000 234.784521L143.424000 237.689413L147.888000 241.490958
+L152.352000 246.129204L156.816000 251.531004L161.280000 257.611167
+L165.744000 264.273805L170.208000 271.413846L174.672000 278.918686
+L179.136000 286.669970L183.600000 294.545455L188.064000 302.420939
+L192.528000 310.172223L196.992000 317.677063L201.456000 324.817104
+L205.920000 331.479742L210.384000 337.559905L214.848000 342.961705
+L219.312000 347.599951L223.776000 351.401496L228.240000 354.306388
+L232.704000 356.268813L237.168000 357.257825L241.632000 357.257825
+L246.096000 356.268813L250.560000 354.306388L255.024000 351.401496
+L259.488000 347.599951L263.952000 342.961705L268.416000 337.559905
+L272.880000 331.479742L277.344000 324.817104L281.808000 317.677063
+L286.272000 310.172223L290.736000 302.420939L295.200000 294.545455
+L299.664000 286.669970L304.128000 278.918686L308.592000 271.413846
+L313.056000 264.273805L317.520000 257.611167L321.984000 251.531004
+L326.448000 246.129204L330.912000 241.490958L335.376000 237.689413
+L339.840000 234.784521L344.304000 232.822096L348.768000 231.833084
+L353.232000 231.833084L357.696000 232.822096L362.160000 234.784521
+L366.624000 237.689413L371.088000 241.490958L375.552000 246.129204
+L380.016000 251.531004L384.480000 257.611167L388.944000 264.273805
+L393.408000 271.413846L397.872000 278.918686L402.336000 286.669970
+L406.800000 294.545455L411.264000 302.420939L415.728000 310.172223
+L420.192000 317.677063L424.656000 324.817104L429.120000 331.479742
+L433.584000 337.559905L438.048000 342.961705L442.512000 347.599951
+L446.976000 351.401496L451.440000 354.306388L455.904000 356.268813
+L460.368000 357.257825L464.832000 357.257825L469.296000 356.268813
+L473.760000 354.306388L478.224000 351.401496L482.688000 347.599951
+L487.152000 342.961705L491.616000 337.559905L496.080000 331.479742
+L500.544000 324.817104L505.008000 317.677063L509.472000 310.172223
+L513.936000 302.420939"/>
+</g>
+<g id="line2d28">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)" d="M72.000000 294.545455L76.464000 275.793333L80.928000 258.219476
+L85.392000 242.928113M112.176000 236.445954L116.640000 250.224309
+L121.104000 266.787525L125.568000 285.094873L130.032000 303.996036
+L134.496000 322.303384L138.960000 338.866600L143.424000 352.644955
+L147.888000 362.772705L152.352000 368.613485L156.816000 369.800299
+L161.280000 366.258574L165.744000 358.210850L170.208000 346.162796
+L174.672000 330.871433L179.136000 313.297576L183.600000 294.545455
+L188.064000 275.793333L192.528000 258.219476L196.992000 242.928113
+M223.776000 236.445954L228.240000 250.224309L232.704000 266.787525
+L237.168000 285.094873L241.632000 303.996036L246.096000 322.303384
+L250.560000 338.866600L255.024000 352.644955L259.488000 362.772705
+L263.952000 368.613485L268.416000 369.800299L272.880000 366.258574
+L277.344000 358.210850L281.808000 346.162796L286.272000 330.871433
+L290.736000 313.297576L295.200000 294.545455L299.664000 275.793333
+L304.128000 258.219476L308.592000 242.928113M335.376000 236.445954
+L339.840000 250.224309L344.304000 266.787525L348.768000 285.094873
+L353.232000 303.996036L357.696000 322.303384L362.160000 338.866600
+L366.624000 352.644955L371.088000 362.772705L375.552000 368.613485
+L380.016000 369.800299L384.480000 366.258574L388.944000 358.210850
+L393.408000 346.162796L397.872000 330.871433L402.336000 313.297576
+L406.800000 294.545455L411.264000 275.793333L415.728000 258.219476
+L420.192000 242.928113M446.976000 236.445954L451.440000 250.224309
+L455.904000 266.787525L460.368000 285.094873L464.832000 303.996036
+L469.296000 322.303384L473.760000 338.866600L478.224000 352.644955
+L482.688000 362.772705L487.152000 368.613485L491.616000 369.800299
+L496.080000 366.258574L500.544000 358.210850L505.008000 346.162796
+L509.472000 330.871433L513.936000 313.297576"/>
+</g>
+<g id="matplotlib.axis3">
+<g id="xtick6">
+<g id="line2d29">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="72.000000" y="388.800000"/>
+</g></g>
+<g id="line2d30">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="72.000000" y="231.709091"/>
+</g></g>
+<g id="text13">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(63.250000,401.706250)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick7">
+<g id="line2d31">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="183.600000" y="388.800000"/>
+</g></g>
+<g id="line2d32">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="183.600000" y="231.709091"/>
+</g></g>
+<g id="text14">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(174.975000,401.706250)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick8">
+<g id="line2d33">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="295.200000" y="388.800000"/>
+</g></g>
+<g id="line2d34">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="295.200000" y="231.709091"/>
+</g></g>
+<g id="text15">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(286.707812,401.706250)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick9">
+<g id="line2d35">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="406.800000" y="388.800000"/>
+</g></g>
+<g id="line2d36">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="406.800000" y="231.709091"/>
+</g></g>
+<g id="text16">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(398.432812,401.550000)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="xtick10">
+<g id="line2d37">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="518.400000" y="388.800000"/>
+</g></g>
+<g id="line2d38">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="518.400000" y="231.709091"/>
+</g></g>
+<g id="text17">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(509.689062,401.706250)scale(0.120000)">
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+</g>
+<g id="matplotlib.axis4">
+<g id="ytick8">
+<g id="line2d39">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="388.800000"/>
+</g></g>
+<g id="line2d40">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="388.800000"/>
+</g></g>
+<g id="text18">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(41.156250,393.089063)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick9">
+<g id="line2d41">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="357.381818"/>
+</g></g>
+<g id="line2d42">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="357.381818"/>
+</g></g>
+<g id="text19">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(40.906250,361.749006)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick10">
+<g id="line2d43">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="325.963636"/>
+</g></g>
+<g id="line2d44">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="325.963636"/>
+</g></g>
+<g id="text20">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(41.156250,330.330824)scale(0.120000)">
+<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="83.789062"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="147.412109"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="179.199219"/>
+</g>
+</g>
+</g>
+<g id="ytick11">
+<g id="line2d45">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="294.545455"/>
+</g></g>
+<g id="line2d46">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="294.545455"/>
+</g></g>
+<g id="text21">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(50.500000,298.912642)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="ytick12">
+<g id="line2d47">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="263.127273"/>
+</g></g>
+<g id="line2d48">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="263.127273"/>
+</g></g>
+<g id="text22">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(50.750000,267.494460)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="95.410156"/>
+</g>
+</g>
+</g>
+<g id="ytick13">
+<g id="line2d49">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="231.709091"/>
+</g></g>
+<g id="line2d50">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="231.709091"/>
+</g></g>
+<g id="text23">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(51.015625,236.076278)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
+</g>
+</g>
+</g>
+</g>
+<g id="patch8">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 231.709091L518.400000 231.709091"/>
+</g>
+<g id="patch9">
+<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M518.400000 388.800000L518.400000 231.709091"/>
+</g>
+<g id="...
[truncated message content] |
|
From: <md...@us...> - 2010-04-28 15:08:25
|
Revision: 8280
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8280&view=rev
Author: mdboom
Date: 2010-04-28 15:08:19 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
Fix path simplification -- distance threshold should have been squared.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/offset_points.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/polar_axes.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg
trunk/matplotlib/lib/matplotlib/tests/test_simplification.py
trunk/matplotlib/src/path_converters.h
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/offset_points.png
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/polar_axes.png
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.png
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg 2010-04-28 06:44:49 UTC (rev 8279)
+++ trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg 2010-04-28 15:08:19 UTC (rev 8280)
@@ -23,11 +23,12 @@
<clipPath id="p50431ccdcb28178602d99d9270004dde">
<rect x="72.000000" y="43.200000" width="446.400000" height="345.600000"/>
</clipPath>
-</defs><path style="fill: none; stroke: #0000ff; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p50431ccdcb28178602d99d9270004dde)" d="M72.000000 388.800000L76.145143 388.578724L76.151520 388.455734
-L76.157897 388.474541L76.177029 70.552590L76.489509 388.799636
-L175.303337 388.800000L485.723520 388.493668L485.736274 386.681411
-L485.755406 70.552590L486.067886 388.799652L489.926057 388.800000
-L489.926057 388.800000"/>
+</defs><path style="fill: none; stroke: #0000ff; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p50431ccdcb28178602d99d9270004dde)" d="M72.000000 388.800000L76.132389 388.704243L76.151520 388.455734
+L76.157897 388.474541L76.170651 262.490246L76.177029 70.552590
+L76.272686 388.786908L76.629806 388.799881L221.059337 388.800000
+L485.704389 388.713691L485.729897 388.401770L485.736274 386.681411
+L485.755406 70.552590L485.844686 388.786149L486.182674 388.799863
+L489.926057 388.800000L489.926057 388.800000"/>
</g>
<g id="matplotlib.axis1">
</g>
Modified: trunk/matplotlib/lib/matplotlib/tests/test_simplification.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/test_simplification.py 2010-04-28 06:44:49 UTC (rev 8279)
+++ trunk/matplotlib/lib/matplotlib/tests/test_simplification.py 2010-04-28 15:08:19 UTC (rev 8280)
@@ -69,7 +69,7 @@
path = transform.transform_path(path)
simplified = list(path.iter_segments(simplify=(800, 600)))
- assert len(simplified) == 2675
+ assert len(simplified) == 3884
def test_sine_plus_noise():
np.random.seed(0)
@@ -86,7 +86,7 @@
path = transform.transform_path(path)
simplified = list(path.iter_segments(simplify=(800, 600)))
- assert len(simplified) == 628
+ assert len(simplified) == 876
@image_comparison(baseline_images=['simplify_curve'])
def test_simplify_curve():
@@ -131,7 +131,7 @@
path = transform.transform_path(path)
simplified = list(path.iter_segments(simplify=(800, 600)))
- assert len(simplified) == 13
+ assert len(simplified) == 17
def test_start_with_moveto():
# Should be entirely clipped away to a single MOVETO
Modified: trunk/matplotlib/src/path_converters.h
===================================================================
--- trunk/matplotlib/src/path_converters.h 2010-04-28 06:44:49 UTC (rev 8279)
+++ trunk/matplotlib/src/path_converters.h 2010-04-28 15:08:19 UTC (rev 8280)
@@ -477,7 +477,7 @@
/* Set simplify to true to perform simplification */
PathSimplifier(VertexSource& source, bool do_simplify, double simplify_threshold) :
m_source(&source), m_simplify(do_simplify),
- m_simplify_threshold(simplify_threshold),
+ m_simplify_threshold(simplify_threshold*simplify_threshold),
m_moveto(true), m_after_moveto(false),
m_lastx(0.0), m_lasty(0.0), m_clipped(false),
m_origdx(0.0), m_origdy(0.0),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-28 06:44:55
|
Revision: 8279
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8279&view=rev
Author: efiring
Date: 2010-04-28 06:44:49 +0000 (Wed, 28 Apr 2010)
Log Message:
-----------
contourf_demo: illustrate use of set_under and set_over with contourf colors kw
Modified Paths:
--------------
trunk/matplotlib/examples/pylab_examples/contourf_demo.py
Modified: trunk/matplotlib/examples/pylab_examples/contourf_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/contourf_demo.py 2010-04-27 20:30:53 UTC (rev 8278)
+++ trunk/matplotlib/examples/pylab_examples/contourf_demo.py 2010-04-28 06:44:49 UTC (rev 8279)
@@ -61,10 +61,16 @@
# Now make a contour plot with the levels specified,
# and with the colormap generated automatically from a list
# of colors.
-levels = [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5]
+levels = [-1.5, -1, -0.5, 0, 0.5, 1]
CS3 = contourf(X, Y, Z, levels,
colors = ('r', 'g', 'b'),
- origin=origin)
+ origin=origin,
+ extend='both')
+# Our data range extends outside the range of levels; make
+# data below the lowest contour level yellow, and above the
+# highest level cyan:
+CS3.cmap.set_under('yellow')
+CS3.cmap.set_over('cyan')
CS4 = contour(X, Y, Z, levels,
colors = ('k',),
@@ -72,6 +78,9 @@
origin = origin)
title('Listed colors (3 masked regions)')
clabel(CS4, fmt = '%2.1f', colors = 'w', fontsize=14)
+
+# Notice that the colorbar command gets all the information it
+# needs from the ContourSet object, CS3.
colorbar(CS3)
show()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-27 20:31:01
|
Revision: 8278
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8278&view=rev
Author: efiring
Date: 2010-04-27 20:30:53 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
contouring: fix various bugs
Modified Paths:
--------------
trunk/matplotlib/examples/pylab_examples/contour_image.py
trunk/matplotlib/lib/matplotlib/contour.py
trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
Modified: trunk/matplotlib/examples/pylab_examples/contour_image.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/contour_image.py 2010-04-27 19:39:27 UTC (rev 8277)
+++ trunk/matplotlib/examples/pylab_examples/contour_image.py 2010-04-27 20:30:53 UTC (rev 8278)
@@ -67,7 +67,7 @@
imshow(Z, extent=extent)
v = axis()
-contour(Z, cset3.levels, hold='on', colors = 'k',
+contour(Z, levels, hold='on', colors = 'k',
origin='upper', extent=extent)
axis(v)
title("Image, origin 'upper'")
@@ -76,7 +76,7 @@
imshow(Z, origin='lower', extent=extent)
v = axis()
-contour(Z, cset3.levels, hold='on', colors = 'k',
+contour(Z, levels, hold='on', colors = 'k',
origin='lower', extent=extent)
axis(v)
title("Image, origin 'lower'")
@@ -91,7 +91,7 @@
# domain that is contoured does not extend beyond these pixel centers.
im = imshow(Z, interpolation='nearest', extent=extent)
v = axis()
-contour(Z, cset3.levels, hold='on', colors = 'k',
+contour(Z, levels, hold='on', colors = 'k',
origin='image', extent=extent)
axis(v)
ylim = get(gca(), 'ylim')
Modified: trunk/matplotlib/lib/matplotlib/contour.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/contour.py 2010-04-27 19:39:27 UTC (rev 8277)
+++ trunk/matplotlib/lib/matplotlib/contour.py 2010-04-27 20:30:53 UTC (rev 8278)
@@ -147,7 +147,7 @@
if len(args) == 0:
levels = self.levels
- indices = range(len(self.levels))
+ indices = range(len(levels))
elif len(args) == 1:
levlabs = list(args[0])
indices, levels = [], []
@@ -674,7 +674,10 @@
self._process_levels()
if self.colors is not None:
- cmap = colors.ListedColormap(self.colors, N=len(self.layers))
+ ncolors = len(self.levels)
+ if self.filled:
+ ncolors -= 1
+ cmap = colors.ListedColormap(self.colors, N=ncolors)
if self.filled:
self.collections = cbook.silent_list('collections.PathCollection')
else:
@@ -772,7 +775,7 @@
havelimits = True
if havelimits:
self.ax.update_datalim([min, max])
- self.ax.autoscale_view()
+ self.ax.autoscale_view(tight=True)
def _get_allsegs_and_allkinds(self):
"""
@@ -881,13 +884,15 @@
self.vmin = 2 * self.levels[0] - self.levels[1]
if self.extend in ('both', 'max'):
self.vmax = 2 * self.levels[-1] - self.levels[-2]
- self.layers = self._levels # contour: a line is a thin layer
if self.filled:
self.layers = 0.5 * (self._levels[:-1] + self._levels[1:])
if self.extend in ('both', 'min'):
self.layers[0] = 0.5 * (self.vmin + self._levels[1])
if self.extend in ('both', 'max'):
self.layers[-1] = 0.5 * (self.vmax + self._levels[-2])
+ else:
+ self.layers = self.levels # contour: a line is a thin layer
+ # Use only original levels--no extended levels
def _process_colors(self):
"""
@@ -903,11 +908,13 @@
"""
self.monochrome = self.cmap.monochrome
if self.colors is not None:
- i0, i1 = 0, len(self.layers)
+ i0, i1 = 0, len(self.levels)
+ if self.filled:
+ i1 -= 1
if self.extend in ('both', 'min'):
i0 = -1
if self.extend in ('both', 'max'):
- i1 = i1 + 1
+ i1 += 1
self.cvalues = range(i0, i1)
self.set_norm(colors.NoNorm())
else:
@@ -944,8 +951,9 @@
tlinestyles = ['solid'] * Nlev
if self.monochrome:
neg_ls = mpl.rcParams['contour.negative_linestyle']
+ eps = - (self.zmax - self.zmin) * 1e-15
for i, lev in enumerate(self.levels):
- if lev < 0.0:
+ if lev < eps:
tlinestyles[i] = neg_ls
else:
if cbook.is_string_like(linestyles):
@@ -1073,6 +1081,8 @@
C = args[0].Cntr
if self.levels is None:
self.levels = args[0].levels
+ self.zmin = args[0].zmin
+ self.zmax = args[0].zmax
else:
x, y, z = self._contour_args(args, kwargs)
@@ -1081,7 +1091,7 @@
y0 = ma.minimum(y)
y1 = ma.maximum(y)
self.ax.update_datalim([(x0,y0), (x1,y1)])
- self.ax.autoscale_view()
+ self.ax.autoscale_view(tight=True)
_mask = ma.getmask(z)
if _mask is ma.nomask:
_mask = None
Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py
===================================================================
--- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-27 19:39:27 UTC (rev 8277)
+++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010-04-27 20:30:53 UTC (rev 8278)
@@ -201,7 +201,7 @@
# Let autoscale_view figure out how to use this data.
self.autoscale_view()
- def autoscale_view(self, scalex=True, scaley=True, scalez=True):
+ def autoscale_view(self, scalex=True, scaley=True, scalez=True, **kw):
# This method looks at the rectanglular volume (see above)
# of data and decides how to scale the view portal to fit it.
@@ -284,19 +284,19 @@
if elev or azim are None (default), then the initial value
is used which was specified in the :class:`Axes3D` constructor.
"""
-
+
self.dist = 10
-
+
if elev is None:
self.elev = self.initial_elev
else:
self.elev = elev
-
+
if azim is None:
self.azim = self.initial_azim
else:
self.azim = azim
-
+
def get_proj(self):
"""Create the projection matrix from the current viewing
position.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-27 19:39:33
|
Revision: 8277
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8277&view=rev
Author: mdboom
Date: 2010-04-27 19:39:27 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
Expose tolerance argument to image_comparison decorator. Use it to raise the tolerance for the test_figimage test.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/testing/decorators.py
trunk/matplotlib/lib/matplotlib/tests/test_image.py
Modified: trunk/matplotlib/lib/matplotlib/testing/decorators.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/testing/decorators.py 2010-04-27 00:04:14 UTC (rev 8276)
+++ trunk/matplotlib/lib/matplotlib/testing/decorators.py 2010-04-27 19:39:27 UTC (rev 8277)
@@ -46,7 +46,7 @@
return nose.tools.make_decorator(f)(failer)
return known_fail_decorator
-def image_comparison(baseline_images=None,extensions=None):
+def image_comparison(baseline_images=None,extensions=None,tol=1e-3):
"""
call signature::
@@ -118,7 +118,6 @@
'image does not exist: %s'%expected)
# compare the images
- tol=1e-3 # default tolerance
err = compare_images( expected, actual, tol,
in_decorator=True )
if err:
Modified: trunk/matplotlib/lib/matplotlib/tests/test_image.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/test_image.py 2010-04-27 00:04:14 UTC (rev 8276)
+++ trunk/matplotlib/lib/matplotlib/tests/test_image.py 2010-04-27 19:39:27 UTC (rev 8277)
@@ -29,7 +29,7 @@
fig.savefig('image_interps')
-@image_comparison(baseline_images=['figimage-0', 'figimage-1'], extensions=['png'])
+@image_comparison(baseline_images=['figimage-0', 'figimage-1'], extensions=['png'], tol=1.5e-3)
def test_figimage():
'test the figimage method'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-27 00:04:21
|
Revision: 8276
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8276&view=rev
Author: efiring
Date: 2010-04-27 00:04:14 +0000 (Tue, 27 Apr 2010)
Log Message:
-----------
dates: DateLocator.nonsingular checks for near-singularity.
Also fixed fill_units test and baseline files
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/dates.py
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.pdf
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.svg
trunk/matplotlib/lib/matplotlib/tests/test_axes.py
Modified: trunk/matplotlib/lib/matplotlib/dates.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/dates.py 2010-04-26 23:05:14 UTC (rev 8275)
+++ trunk/matplotlib/lib/matplotlib/dates.py 2010-04-27 00:04:14 UTC (rev 8276)
@@ -509,8 +509,9 @@
def nonsingular(self, vmin, vmax):
unit = self._get_unit()
- vmin -= 2*unit
- vmax += 2*unit
+ if abs(vmax - vmin) < 1e-6:
+ vmin -= 2*unit
+ vmax += 2*unit
return vmin, vmax
class RRuleLocator(DateLocator):
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.pdf
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.png
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.svg
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.svg 2010-04-26 23:05:14 UTC (rev 8275)
+++ trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/fill_units.svg 2010-04-27 00:04:14 UTC (rev 8276)
@@ -26,10 +26,6 @@
</defs><path style="fill: #0000ff; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p2d9d45e9a89c598215ad1d41ce14c5ae)" d="M72.000000 180.654545L72.000000 180.654545L274.909091 43.200000
L274.909091 180.654545L72.000000 180.654545"/>
</g>
-<g id="patch4">
-<path style="fill: #0000ff; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p2d9d45e9a89c598215ad1d41ce14c5ae)" d="M72.000000 180.654545L72.000000 180.654545L274.909091 43.200000
-L274.909091 180.654545L72.000000 180.654545"/>
-</g>
<g id="line2d1">
<path style="fill: none; stroke: #ff0000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p2d9d45e9a89c598215ad1d41ce14c5ae)" d="M72.000000 165.381818"/>
</g>
@@ -347,25 +343,25 @@
</g>
</g>
</g>
-<g id="patch5">
+<g id="patch4">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 43.200000L274.909091 43.200000"/>
</g>
-<g id="patch6">
+<g id="patch5">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M274.909091 180.654545L274.909091 43.200000"/>
</g>
-<g id="patch7">
+<g id="patch6">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 180.654545L274.909091 180.654545"/>
</g>
-<g id="patch8">
+<g id="patch7">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M72.000000 180.654545L72.000000 43.200000"/>
</g>
</g>
<g id="axes2">
-<g id="patch9">
+<g id="patch8">
<path style="fill: #ffffff; opacity: 1.000000" d="M315.490909 180.654545L518.400000 180.654545L518.400000 43.200000
L315.490909 43.200000L315.490909 180.654545"/>
</g>
-<g id="patch10">
+<g id="patch9">
<defs>
<clipPath id="p3d2e026aea9c82e875e510dfacc02aae">
<rect x="315.490909" y="43.200000" width="202.909091" height="137.454545"/>
@@ -650,209 +646,305 @@
</g>
</g>
</g>
-<g id="patch11">
+<g id="patch10">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M315.490909 43.200000L518.400000 43.200000"/>
</g>
-<g id="patch12">
+<g id="patch11">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M518.400000 180.654545L518.400000 43.200000"/>
</g>
-<g id="patch13">
+<g id="patch12">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M315.490909 180.654545L518.400000 180.654545"/>
</g>
-<g id="patch14">
+<g id="patch13">
<path style="fill: none; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" d="M315.490909 180.654545L315.490909 43.200000"/>
</g>
</g>
<g id="axes3">
-<g id="patch15">
+<g id="patch14">
<path style="fill: #ffffff; opacity: 1.000000" d="M72.000000 345.600000L274.909091 345.600000L274.909091 208.145455
L72.000000 208.145455L72.000000 345.600000"/>
</g>
-<g id="line2d95">
+<g id="patch15">
<defs>
<clipPath id="pa02e4b8b38c6ad0a77aadc2b541c639b">
<rect x="72.000000" y="208.145455" width="202.909091" height="137.454545"/>
</clipPath>
-</defs><path style="fill: none; stroke: #ff0000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pa02e4b8b38c6ad0a77aadc2b541c639b)" d="M173.454545 276.872727"/>
+</defs><path style="fill: #0000ff; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pa02e4b8b38c6ad0a77aadc2b541c639b)" d="M72.000000 345.600000L72.000000 345.600000L274.909091 208.145455
+L274.909091 345.600000L72.000000 345.600000"/>
</g>
+<g id="line2d95">
+<path style="fill: none; stroke: #ff0000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#pa02e4b8b38c6ad0a77aadc2b541c639b)" d="M72.000000 330.327273"/>
+</g>
<g id="matplotlib.axis5">
<g id="xtick27">
<g id="line2d96">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="93.925745" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="72.000000" y="345.600000"/>
</g></g>
<g id="line2d97">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="93.925745" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="72.000000" y="208.145455"/>
</g></g>
<g id="text23">
<defs>
-<path id="c_680e57528fc97ec49605e10827a40086" d="M39.406250 -66.218750q-10.750000 0.000000 -17.078125 8.015625q-6.312500 8.000000 -6.312500 21.828125q0.000000 13.765625 6.312500 21.781250q6.328125 8.000000 17.078125 8.000000q10.734375 0.000000 17.015625 -8.000000q6.281250 -8.015625 6.281250 -21.781250q0.000000 -13.828125 -6.281250 -21.828125q-6.281250 -8.015625 -17.015625 -8.015625M39.406250 -74.218750q15.328125 0.000000 24.500000 10.281250q9.187500 10.281250 9.187500 27.562500q0.000000 17.234375 -9.187500 27.515625q-9.171875 10.281250 -24.500000 10.281250q-15.375000 0.000000 -24.593750 -10.250000q-9.203125 -10.265625 -9.203125 -27.546875q0.000000 -17.281250 9.203125 -27.562500q9.218750 -10.281250 24.593750 -10.281250"/>
-<path id="c_d650c37394b681142a10dfc54356d478" d="M48.781250 -52.593750l0.000000 8.406250q-3.812500 -2.109375 -7.640625 -3.156250q-3.828125 -1.046875 -7.734375 -1.046875q-8.750000 0.000000 -13.593750 5.546875q-4.828125 5.531250 -4.828125 15.546875q0.000000 10.015625 4.828125 15.562500q4.843750 5.531250 13.593750 5.531250q3.906250 0.000000 7.734375 -1.046875q3.828125 -1.046875 7.640625 -3.156250l0.000000 8.312500q-3.765625 1.750000 -7.796875 2.625000q-4.015625 0.890625 -8.562500 0.890625q-12.359375 0.000000 -19.640625 -7.765625q-7.265625 -7.765625 -7.265625 -20.953125q0.000000 -13.375000 7.343750 -21.031250q7.359375 -7.671875 20.156250 -7.671875q4.140625 0.000000 8.093750 0.859375q3.953125 0.843750 7.671875 2.546875"/>
-<path id="c_0f8c41144cfbf448378cb6fd1cc8e549" d="M18.312500 -70.218750l0.000000 15.531250l18.500000 0.000000l0.000000 6.984375l-18.500000 0.000000l0.000000 29.687500q0.000000 6.687500 1.828125 8.593750q1.828125 1.906250 7.453125 1.906250l9.218750 0.000000l0.000000 7.515625l-9.218750 0.000000q-10.406250 0.000000 -14.359375 -3.875000q-3.953125 -3.890625 -3.953125 -14.140625l0.000000 -29.687500l-6.593750 0.000000l0.000000 -6.984375l6.593750 0.000000l0.000000 -15.531250z"/>
-<path id="c_d41d8cd98f00b204e9800998ecf8427e" d=""/>
+<path id="c_1e6263c731c474ef67a09469452f0b99" d="M11.718750 -12.406250l10.296875 0.000000l0.000000 12.406250l-10.296875 0.000000zM11.718750 -51.703125l10.296875 0.000000l0.000000 12.390625l-10.296875 0.000000z"/>
</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(47.661044,384.000949)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_680e57528fc97ec49605e10827a40086"/>
-<use xlink:href="#c_d650c37394b681142a10dfc54356d478" x="78.710938"/>
-<use xlink:href="#c_0f8c41144cfbf448378cb6fd1cc8e549" x="133.691406"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.900391"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.687500"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.310547"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="331.933594"/>
-<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b" x="395.556641"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(26.668983,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick28">
<g id="line2d98">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="119.236650" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="88.909091" y="345.600000"/>
</g></g>
<g id="line2d99">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="119.236650" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="88.909091" y="208.145455"/>
</g></g>
<g id="text24">
-<defs>
-<path id="c_6023715d605f81e6eb43b7f9d77e7c51" d="M34.187500 -63.187500l-13.390625 36.281250l26.812500 0.000000zM28.609375 -72.906250l11.187500 0.000000l27.781250 72.906250l-10.250000 0.000000l-6.640625 -18.703125l-32.859375 0.000000l-6.640625 18.703125l-10.406250 0.000000z"/>
-<path id="c_f15a64fcd463ef4629c48bab42cde24c" d="M18.109375 -8.203125l0.000000 29.000000l-9.031250 0.000000l0.000000 -75.484375l9.031250 0.000000l0.000000 8.296875q2.843750 -4.875000 7.156250 -7.234375q4.328125 -2.375000 10.328125 -2.375000q9.968750 0.000000 16.187500 7.906250q6.234375 7.906250 6.234375 20.796875q0.000000 12.890625 -6.234375 20.812500q-6.218750 7.906250 -16.187500 7.906250q-6.000000 0.000000 -10.328125 -2.375000q-4.312500 -2.375000 -7.156250 -7.250000M48.687500 -27.296875q0.000000 -9.906250 -4.078125 -15.546875q-4.078125 -5.640625 -11.203125 -5.640625q-7.140625 0.000000 -11.218750 5.640625q-4.078125 5.640625 -4.078125 15.546875q0.000000 9.906250 4.078125 15.546875q4.078125 5.640625 11.218750 5.640625q7.125000 0.000000 11.203125 -5.640625q4.078125 -5.640625 4.078125 -15.546875"/>
-<path id="c_6ec8d5749226675394676a5d2a3b468b" d="M41.109375 -46.296875q-1.515625 -0.875000 -3.296875 -1.281250q-1.781250 -0.421875 -3.921875 -0.421875q-7.625000 0.000000 -11.703125 4.953125q-4.078125 4.953125 -4.078125 14.234375l0.000000 28.812500l-9.031250 0.000000l0.000000 -54.687500l9.031250 0.000000l0.000000 8.500000q2.843750 -4.984375 7.375000 -7.390625q4.546875 -2.421875 11.046875 -2.421875q0.921875 0.000000 2.046875 0.125000q1.125000 0.109375 2.484375 0.359375z"/>
-</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(72.281835,384.087477)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_6023715d605f81e6eb43b7f9d77e7c51"/>
-<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="68.408203"/>
-<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="131.884766"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.998047"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.785156"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.408203"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="332.031250"/>
-<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="395.654297"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(43.578074,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick29">
<g id="line2d100">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="144.547555" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="105.818182" y="345.600000"/>
</g></g>
<g id="line2d101">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="144.547555" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="105.818182" y="208.145455"/>
</g></g>
<g id="text25">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(98.106943,384.102512)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_680e57528fc97ec49605e10827a40086"/>
-<use xlink:href="#c_d650c37394b681142a10dfc54356d478" x="78.710938"/>
-<use xlink:href="#c_0f8c41144cfbf448378cb6fd1cc8e549" x="133.691406"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.900391"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.687500"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.310547"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="331.933594"/>
-<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="395.556641"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(60.487165,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick30">
<g id="line2d102">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="169.720150" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="122.727273" y="345.600000"/>
</g></g>
<g id="line2d103">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="169.720150" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="122.727273" y="208.145455"/>
</g></g>
<g id="text26">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(122.778866,384.079665)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_6023715d605f81e6eb43b7f9d77e7c51"/>
-<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="68.408203"/>
-<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="131.884766"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.998047"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.785156"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.408203"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="332.031250"/>
-<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6" x="395.654297"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(77.396256,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick31">
<g id="line2d104">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="195.031055" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="139.636364" y="345.600000"/>
</g></g>
<g id="line2d105">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="195.031055" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="139.636364" y="208.145455"/>
</g></g>
<g id="text27">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(148.603974,384.094699)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_680e57528fc97ec49605e10827a40086"/>
-<use xlink:href="#c_d650c37394b681142a10dfc54356d478" x="78.710938"/>
-<use xlink:href="#c_0f8c41144cfbf448378cb6fd1cc8e549" x="133.691406"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.900391"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.687500"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.310547"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="331.933594"/>
-<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6" x="395.556641"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(94.305346,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick32">
<g id="line2d106">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="220.203649" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="156.545455" y="345.600000"/>
</g></g>
<g id="line2d107">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="220.203649" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="156.545455" y="208.145455"/>
</g></g>
<g id="text28">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(173.221771,384.103102)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_6023715d605f81e6eb43b7f9d77e7c51"/>
-<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="68.408203"/>
-<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="131.884766"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.998047"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.785156"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.408203"/>
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="332.031250"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="395.654297"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(111.660982,383.204074)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick33">
<g id="line2d108">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="245.514555" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="173.454545" y="345.600000"/>
</g></g>
<g id="line2d109">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="245.514555" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="173.454545" y="208.145455"/>
</g></g>
<g id="text29">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(199.046879,384.118137)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_680e57528fc97ec49605e10827a40086"/>
-<use xlink:href="#c_d650c37394b681142a10dfc54356d478" x="78.710938"/>
-<use xlink:href="#c_0f8c41144cfbf448378cb6fd1cc8e549" x="133.691406"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.900391"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.687500"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.310547"/>
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="331.933594"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="395.556641"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(128.570073,383.204074)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
<g id="xtick34">
<g id="line2d110">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="270.687149" y="345.600000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="190.363636" y="345.600000"/>
</g></g>
<g id="line2d111">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="270.687149" y="208.145455"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="190.363636" y="208.145455"/>
</g></g>
<g id="text30">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(223.975904,383.946852)rotate(-30.0)scale(0.120000)">
-<use xlink:href="#c_6023715d605f81e6eb43b7f9d77e7c51"/>
-<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="68.408203"/>
-<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="131.884766"/>
-<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="172.998047"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="204.785156"/>
-<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="268.408203"/>
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="332.031250"/>
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="395.654297"/>
+<g style="fill: #000000; opacity: 1.000000" transform="translate(145.479164,383.204074)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
</g>
</g>
</g>
+<g id="xtick35">
+<g id="line2d112">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="207.272727" y="345.600000"/>
+</g></g>
+<g id="line2d113">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="207.272727" y="208.145455"/>
+</g></g>
<g id="text31">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(162.388254,383.204074)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
+</g>
+</g>
+</g>
+<g id="xtick36">
+<g id="line2d114">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="224.181818" y="345.600000"/>
+</g></g>
+<g id="line2d115">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="224.181818" y="208.145455"/>
+</g></g>
+<g id="text32">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(179.297345,383.204074)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
+</g>
+</g>
+</g>
+<g id="xtick37">
+<g id="line2d116">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="241.090909" y="345.600000"/>
+</g></g>
+<g id="line2d117">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="241.090909" y="208.145455"/>
+</g></g>
+<g id="text33">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(195.827550,383.422824)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
+</g>
+</g>
+</g>
+<g id="xtick38">
+<g id="line2d118">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="258.000000" y="345.600000"/>
+</g></g>
+<g id="line2d119">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="258.000000" y="208.145455"/>
+</g></g>
+<g id="text34">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(212.736641,383.422824)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
+</g>
+</g>
+</g>
+<g id="xtick39">
+<g id="line2d120">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="274.909091" y="345.600000"/>
+</g></g>
+<g id="line2d121">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="274.909091" y="208.145455"/>
+</g></g>
+<g id="text35">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(229.578074,383.461887)rotate(-30.0)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="160.937500"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="224.560547"/>
+<use xlink:href="#c_1e6263c731c474ef67a09469452f0b99" x="288.183594"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="321.875000"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="385.498047"/>
+</g>
+</g>
+</g>
+<g id="text36">
<defs>
<path id="c_dbe439baa035de1a298d0549b22269d8" d="M9.812500 -72.906250l46.093750 0.000000l0.000000 8.312500l-36.234375 0.000000l0.000000 21.578125l34.718750 0.000000l0.000000 8.296875l-34.718750 0.000000l0.000000 26.421875l37.109375 0.000000l0.000000 8.296875l-46.968750 0.000000z"/>
<path id="c_9e4b30cbdf32072672ded72e9074c4c9" d="M-0.296875 -72.906250l61.671875 0.000000l0.000000 8.312500l-25.875000 0.000000l0.000000 64.593750l-9.906250 0.000000l0.000000 -64.593750l-25.890625 0.000000z"/>
</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(166.571733,400.353102)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(166.571733,397.383762)scale(0.120000)">
<use xlink:href="#c_dbe439baa035de1a298d0549b22269d8"/>
<use xlink:href="#c_9e4b30cbdf32072672ded72e9074c4c9" x="63.183594"/>
</g>
@@ -860,116 +952,166 @@
</g>
<g id="matplotlib.axis6">
<g id="ytick21">
-<g id="line2d112">
+<g id="line2d122">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="345.600000"/>
</g></g>
-<g id="line2d113">
+<g id="line2d123">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="345.600000"/>
</g></g>
-<g id="text32">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(50.328125,349.967187)scale(0.120000)">
-<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6"/>
+<g id="text37">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(50.500000,349.967187)scale(0.120000)">
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
-<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="95.410156"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="95.410156"/>
</g>
</g>
</g>
<g id="ytick22">
-<g id="line2d114">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="322.690909"/>
+<g id="line2d124">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="330.327273"/>
</g></g>
-<g id="line2d115">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="322.690909"/>
+<g id="line2d125">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="330.327273"/>
</g></g>
-<g id="text33">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(50.421875,327.058097)scale(0.120000)">
-<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6"/>
-<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
-<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="95.410156"/>
+<g id="text38">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(43.375000,334.694460)scale(0.120000)">
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
<g id="ytick23">
-<g id="line2d116">
+<g id="line2d126">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="315.054545"/>
+</g></g>
+<g id="line2d127">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="315.054545"/>
+</g></g>
+<g id="text39">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.937500,319.421733)scale(0.120000)">
+<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
+</g>
+</g>
+</g>
+<g id="ytick24">
+<g id="line2d128">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="299.781818"/>
</g></g>
-<g id="line2d117">
+<g id="line2d129">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="299.781818"/>
</g></g>
-<g id="text34">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(50.484375,304.149006)scale(0.120000)">
-<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6"/>
-<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="63.623047"/>
-<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="95.410156"/>
+<g id="text40">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.984375,304.149006)scale(0.120000)">
+<use xlink:href="#c_3dcfa38a02242cb63ec6726c6e70be7a"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
-<g id="ytick24">
-<g id="line2d118">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="276.872727"/>
+<g id="ytick25">
+<g id="line2d130">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="284.509091"/>
</g></g>
-<g id="line2d119">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="276.872727"/>
+<g id="line2d131">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="284.509091"/>
</g></g>
-<g id="text35">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(43.375000,281.239915)scale(0.120000)">
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<g id="text41">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.656250,288.876278)scale(0.120000)">
+<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
-<g id="ytick25">
-<g id="line2d120">
+<g id="ytick26">
+<g id="line2d132">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="269.236364"/>
+</g></g>
+<g id="line2d133">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="269.236364"/>
+</g></g>
+<g id="text42">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.984375,273.603551)scale(0.120000)">
+<use xlink:href="#c_1260a2df50f305f3db244e29828f968e"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
+</g>
+</g>
+</g>
+<g id="ytick27">
+<g id="line2d134">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="253.963636"/>
</g></g>
-<g id="line2d121">
+<g id="line2d135">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="253.963636"/>
</g></g>
-<g id="text36">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(43.781250,258.330824)scale(0.120000)">
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<g id="text43">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.906250,258.330824)scale(0.120000)">
+<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
-<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="159.033203"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
-<g id="ytick26">
-<g id="line2d122">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="231.054545"/>
+<g id="ytick28">
+<g id="line2d136">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="238.690909"/>
</g></g>
-<g id="line2d123">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="231.054545"/>
+<g id="line2d137">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="238.690909"/>
</g></g>
-<g id="text37">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(43.250000,235.421733)scale(0.120000)">
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<g id="text44">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(43.046875,243.058097)scale(0.120000)">
+<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
-<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="159.033203"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
-<g id="ytick27">
-<g id="line2d124">
+<g id="ytick29">
+<g id="line2d138">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="223.418182"/>
+</g></g>
+<g id="line2d139">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="223.418182"/>
+</g></g>
+<g id="text45">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.875000,227.785369)scale(0.120000)">
+<use xlink:href="#c_bef35738d52871942e50b9de9b122bab"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
+<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
+</g>
+</g>
+</g>
+<g id="ytick30">
+<g id="line2d140">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="208.145455"/>
</g></g>
-<g id="line2d125">
+<g id="line2d141">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="274.909091" y="208.145455"/>
</g></g>
-<g id="text38">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(43.343750,212.512642)scale(0.120000)">
-<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
+<g id="text46">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(42.812500,212.512642)scale(0.120000)">
+<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
<use xlink:href="#c_ed3e21196fb739f392806f09ca0594ef" x="127.246094"/>
-<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="159.033203"/>
+<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="159.033203"/>
</g>
</g>
</g>
-<g id="text39">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(38.250000,284.818040)rotate(-90.0)scale(0.120000)">
+<g id="text47">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(37.656250,284.818040)rotate(-90.0)scale(0.120000)">
<use xlink:href="#c_d821beae607506e87470f334d9ff47af"/>
<use xlink:href="#c_0bce5afba2dc6b9024b26277c38ad8e8" x="63.476562"/>
<use xlink:href="#c_e3864de5dabf2f8dd9eee74726882ec1" x="125.000000"/>
@@ -1002,21 +1144,18 @@
</defs><path style="fill: #0000ff; stroke: #000000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p42a322063e64e6fa296be7cf0ea77b7c)" d="M315.490909 345.600000L315.490909 345.600000L518.400000 208.145455
L518.400000 345.600000L315.490909 345.600000"/>
</g>
-<g id="line2d126">
+<g id="line2d142">
<path style="fill: none; stroke: #ff0000; stroke-width: 1.000000; stroke-linejoin: round; stroke-linecap: square; opacity: 1.000000" clip-path="url(#p42a322063e64e6fa296be7cf0ea77b7c)" d="M315.490909 330.327273"/>
</g>
<g id="matplotlib.axis7">
-<g id="xtick35">
-<g id="line2d127">
+<g id="xtick40">
+<g id="line2d143">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="315.490909" y="345.600000"/>
</g></g>
-<g id="line2d128">
+<g id="line2d144">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="315.490909" y="208.145455"/>
</g></g>
-<g id="text40">
-<defs>
-<path id="c_1e6263c731c474ef67a09469452f0b99" d="M11.718750 -12.406250l10.296875 0.000000l0.000000 12.406250l-10.296875 0.000000zM11.718750 -51.703125l10.296875 0.000000l0.000000 12.390625l-10.296875 0.000000z"/>
-</defs>
+<g id="text48">
<g style="fill: #000000; opacity: 1.000000" transform="translate(270.159892,383.461887)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
@@ -1029,14 +1168,14 @@
</g>
</g>
</g>
-<g id="xtick36">
-<g id="line2d129">
+<g id="xtick41">
+<g id="line2d145">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="332.400000" y="345.600000"/>
</g></g>
-<g id="line2d130">
+<g id="line2d146">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="332.400000" y="208.145455"/>
</g></g>
-<g id="text41">
+<g id="text49">
<g style="fill: #000000; opacity: 1.000000" transform="translate(287.068983,383.461887)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
@@ -1049,14 +1188,14 @@
</g>
</g>
</g>
-<g id="xtick37">
-<g id="line2d131">
+<g id="xtick42">
+<g id="line2d147">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="349.309091" y="345.600000"/>
</g></g>
-<g id="line2d132">
+<g id="line2d148">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="349.309091" y="208.145455"/>
</g></g>
-<g id="text42">
+<g id="text50">
<g style="fill: #000000; opacity: 1.000000" transform="translate(303.978074,383.461887)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="63.623047"/>
@@ -1069,14 +1208,14 @@
</g>
</g>
</g>
-<g id="xtick38">
-<g id="line2d133">
+<g id="xtick43">
+<g id="line2d149">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="366.218182" y="345.600000"/>
</g></g>
-<g id="line2d134">
+<g id="line2d150">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="366.218182" y="208.145455"/>
</g></g>
-<g id="text43">
+<g id="text51">
<g style="fill: #000000; opacity: 1.000000" transform="translate(320.887165,383.461887)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="63.623047"/>
@@ -1089,14 +1228,14 @@
</g>
</g>
</g>
-<g id="xtick39">
-<g id="line2d135">
+<g id="xtick44">
+<g id="line2d151">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="383.127273" y="345.600000"/>
</g></g>
-<g id="line2d136">
+<g id="line2d152">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="383.127273" y="208.145455"/>
</g></g>
-<g id="text44">
+<g id="text52">
<g style="fill: #000000; opacity: 1.000000" transform="translate(337.796256,383.461887)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115"/>
<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="63.623047"/>
@@ -1109,14 +1248,14 @@
</g>
</g>
</g>
-<g id="xtick40">
-<g id="line2d137">
+<g id="xtick45">
+<g id="line2d153">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="400.036364" y="345.600000"/>
</g></g>
-<g id="line2d138">
+<g id="line2d154">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="400.036364" y="208.145455"/>
</g></g>
-<g id="text45">
+<g id="text53">
<g style="fill: #000000; opacity: 1.000000" transform="translate(355.151891,383.204074)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
@@ -1129,14 +1268,14 @@
</g>
</g>
</g>
-<g id="xtick41">
-<g id="line2d139">
+<g id="xtick46">
+<g id="line2d155">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="416.945455" y="345.600000"/>
</g></g>
-<g id="line2d140">
+<g id="line2d156">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="416.945455" y="208.145455"/>
</g></g>
-<g id="text46">
+<g id="text54">
<g style="fill: #000000; opacity: 1.000000" transform="translate(372.060982,383.204074)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
@@ -1149,14 +1288,14 @@
</g>
</g>
</g>
-<g id="xtick42">
-<g id="line2d141">
+<g id="xtick47">
+<g id="line2d157">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="433.854545" y="345.600000"/>
</g></g>
-<g id="line2d142">
+<g id="line2d158">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="433.854545" y="208.145455"/>
</g></g>
-<g id="text47">
+<g id="text55">
<g style="fill: #000000; opacity: 1.000000" transform="translate(388.970073,383.204074)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="63.623047"/>
@@ -1169,14 +1308,14 @@
</g>
</g>
</g>
-<g id="xtick43">
-<g id="line2d143">
+<g id="xtick48">
+<g id="line2d159">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="450.763636" y="345.600000"/>
</g></g>
-<g id="line2d144">
+<g id="line2d160">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="450.763636" y="208.145455"/>
</g></g>
-<g id="text48">
+<g id="text56">
<g style="fill: #000000; opacity: 1.000000" transform="translate(405.879163,383.204074)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="63.623047"/>
@@ -1189,14 +1328,14 @@
</g>
</g>
</g>
-<g id="xtick44">
-<g id="line2d145">
+<g id="xtick49">
+<g id="line2d161">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="467.672727" y="345.600000"/>
</g></g>
-<g id="line2d146">
+<g id="line2d162">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="467.672727" y="208.145455"/>
</g></g>
-<g id="text49">
+<g id="text57">
<g style="fill: #000000; opacity: 1.000000" transform="translate(422.788254,383.204074)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7"/>
<use xlink:href="#c_bef35738d52871942e50b9de9b122bab" x="63.623047"/>
@@ -1209,14 +1348,14 @@
</g>
</g>
</g>
-<g id="xtick45">
-<g id="line2d147">
+<g id="xtick50">
+<g id="line2d163">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="484.581818" y="345.600000"/>
</g></g>
-<g id="line2d148">
+<g id="line2d164">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="484.581818" y="208.145455"/>
</g></g>
-<g id="text50">
+<g id="text58">
<g style="fill: #000000; opacity: 1.000000" transform="translate(439.318459,383.422824)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
@@ -1229,14 +1368,14 @@
</g>
</g>
</g>
-<g id="xtick46">
-<g id="line2d149">
+<g id="xtick51">
+<g id="line2d165">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="501.490909" y="345.600000"/>
</g></g>
-<g id="line2d150">
+<g id="line2d166">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="501.490909" y="208.145455"/>
</g></g>
-<g id="text51">
+<g id="text59">
<g style="fill: #000000; opacity: 1.000000" transform="translate(456.227550,383.422824)rotate(-30.0)scale(0.120000)">
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1"/>
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
@@ -1249,14 +1388,14 @@
</g>
</g>
</g>
-<g id="xtick47">
-<g id="line2d151">
+<g id="xtick52">
+<g id="line2d167">
<g ><use style="fill: none; stroke: #000000; stroke-wid...
[truncated message content] |
|
From: <ef...@us...> - 2010-04-26 23:05:20
|
Revision: 8275
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8275&view=rev
Author: efiring
Date: 2010-04-26 23:05:14 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
axes: fix autoscale_view for test_axes/single_date test, and update
test output.
In the old version, single_date was behaving as if tight autoscaling
were in effect; now it puts the viewLim on tick marks.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.pdf
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 21:11:03 UTC (rev 8274)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 23:05:14 UTC (rev 8275)
@@ -1722,14 +1722,20 @@
dl = [ax.dataLim for ax in xshared]
bb = mtransforms.BboxBase.union(dl)
x0, x1 = bb.intervalx
- x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False,
- expander=0.05)
+ xlocator = self.xaxis.get_major_locator()
+ try:
+ # e.g. DateLocator has its own nonsingular()
+ x0, x1 = xlocator.nonsingular(x0, x1)
+ except AttributeError:
+ # Default nonsingular for, e.g., MaxNLocator
+ x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False,
+ expander=0.05)
if self._xmargin > 0:
delta = (x1 - x0) * self._xmargin
x0 -= delta
x1 += delta
if not _tight:
- x0, x1 = self.xaxis.get_major_locator().view_limits(x0, x1)
+ x0, x1 = xlocator.view_limits(x0, x1)
self.set_xbound(x0, x1)
if scaley and self._autoscaleYon:
@@ -1737,14 +1743,18 @@
dl = [ax.dataLim for ax in yshared]
bb = mtransforms.BboxBase.union(dl)
y0, y1 = bb.intervaly
- y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False,
- expander=0.05)
+ ylocator = self.yaxis.get_major_locator()
+ try:
+ y0, y1 = ylocator.nonsingular(y0, y1)
+ except AttributeError:
+ y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False,
+ expander=0.05)
if self._ymargin > 0:
delta = (y1 - y0) * self._ymargin
y0 -= delta
y1 += delta
if not _tight:
- y0, y1 = self.yaxis.get_major_locator().view_limits(y0, y1)
+ y0, y1 = ylocator.view_limits(y0, y1)
self.set_ybound(y0, y1)
#### Drawing
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.pdf
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.png
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg 2010-04-26 21:11:03 UTC (rev 8274)
+++ trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/single_date.svg 2010-04-26 23:05:14 UTC (rev 8275)
@@ -37,11 +37,11 @@
<g id="xtick1">
<g id="line2d2">
<defs><path id="m30e32995789d870ad79a2e54c91cf9c6" d="M0.000000 0.000000L0.000000 -4.000000"/></defs>
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="125.163821" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="127.035616" y="200.290909"/>
</g></g>
<g id="line2d3">
<defs><path id="m9281cae24120827b11d5ea8a7ad3e96b" d="M0.000000 0.000000L0.000000 4.000000"/></defs>
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="125.163821" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="127.035616" y="43.200000"/>
</g></g>
<g id="text1">
<defs>
@@ -54,7 +54,7 @@
<path id="c_956f18cfdaf972f35a6c2b4aaac2532b" d="M8.203125 -72.906250l46.875000 0.000000l0.000000 4.203125l-26.468750 68.703125l-10.296875 0.000000l24.906250 -64.593750l-35.015625 0.000000z"/>
<path id="c_cc8d6d580d1b10c8632f7a42cd53db8a" d="M33.015625 -40.375000q-6.640625 0.000000 -10.531250 4.546875q-3.875000 4.531250 -3.875000 12.437500q0.000000 7.859375 3.875000 12.437500q3.890625 4.562500 10.531250 4.562500q6.640625 0.000000 10.515625 -4.562500q3.875000 -4.578125 3.875000 -12.437500q0.000000 -7.906250 -3.875000 -12.437500q-3.875000 -4.546875 -10.515625 -4.546875M52.593750 -71.296875l0.000000 8.984375q-3.718750 -1.750000 -7.500000 -2.671875q-3.781250 -0.937500 -7.500000 -0.937500q-9.765625 0.000000 -14.921875 6.593750q-5.140625 6.593750 -5.875000 19.921875q2.875000 -4.250000 7.218750 -6.515625q4.359375 -2.265625 9.578125 -2.265625q10.984375 0.000000 17.359375 6.671875q6.375000 6.656250 6.375000 18.125000q0.000000 11.234375 -6.640625 18.031250q-6.640625 6.781250 -17.671875 6.781250q-12.656250 0.000000 -19.343750 -9.687500q-6.687500 -9.703125 -6.687500 -28.109375q0.000000 -17.281250 8.203125 -27.562500q8.203125 -10.281250 22.015625 -10.281250q3.718750 0.000000 7.500000 0.734375q3.781250 0.734375 7.890625 2.187500"/>
</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(97.616946,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(99.488741,213.197159)scale(0.120000)">
<use xlink:href="#c_72234ddc5dcad8d05c893ef0371171da"/>
<use xlink:href="#c_01d93a582460e35a7945ca50d148ffeb" x="86.279297"/>
<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="147.558594"/>
@@ -68,10 +68,10 @@
</g>
<g id="xtick2">
<g id="line2d4">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="182.048652" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="183.294247" y="200.290909"/>
</g></g>
<g id="line2d5">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="182.048652" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="183.294247" y="43.200000"/>
</g></g>
<g id="text2">
<defs>
@@ -79,7 +79,7 @@
<path id="c_0bce5afba2dc6b9024b26277c38ad8e8" d="M56.203125 -29.593750l0.000000 4.390625l-41.312500 0.000000q0.593750 9.281250 5.593750 14.140625q5.000000 4.859375 13.937500 4.859375q5.171875 0.000000 10.031250 -1.265625q4.859375 -1.265625 9.656250 -3.812500l0.000000 8.500000q-4.843750 2.046875 -9.921875 3.125000q-5.078125 1.078125 -10.296875 1.078125q-13.093750 0.000000 -20.734375 -7.609375q-7.640625 -7.625000 -7.640625 -20.625000q0.000000 -13.421875 7.250000 -21.296875q7.250000 -7.890625 19.562500 -7.890625q11.031250 0.000000 17.453125 7.109375q6.421875 7.093750 6.421875 19.296875M47.218750 -32.234375q-0.093750 -7.359375 -4.125000 -11.750000q-4.031250 -4.406250 -10.671875 -4.406250q-7.515625 0.000000 -12.031250 4.250000q-4.515625 4.250000 -5.203125 11.968750z"/>
<path id="c_f15a64fcd463ef4629c48bab42cde24c" d="M18.109375 -8.203125l0.000000 29.000000l-9.031250 0.000000l0.000000 -75.484375l9.031250 0.000000l0.000000 8.296875q2.843750 -4.875000 7.156250 -7.234375q4.328125 -2.375000 10.328125 -2.375000q9.968750 0.000000 16.187500 7.906250q6.234375 7.906250 6.234375 20.796875q0.000000 12.890625 -6.234375 20.812500q-6.218750 7.906250 -16.187500 7.906250q-6.000000 0.000000 -10.328125 -2.375000q-4.312500 -2.375000 -7.156250 -7.250000M48.687500 -27.296875q0.000000 -9.906250 -4.078125 -15.546875q-4.078125 -5.640625 -11.203125 -5.640625q-7.140625 0.000000 -11.218750 5.640625q-4.078125 5.640625 -4.078125 15.546875q0.000000 9.906250 4.078125 15.546875q4.078125 5.640625 11.218750 5.640625q7.125000 0.000000 11.203125 -5.640625q4.078125 -5.640625 4.078125 -15.546875"/>
</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(154.322089,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(155.567684,213.197159)scale(0.120000)">
<use xlink:href="#c_b672e4bee30772019085dff1098f516d"/>
<use xlink:href="#c_0bce5afba2dc6b9024b26277c38ad8e8" x="63.476562"/>
<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="125.000000"/>
@@ -93,13 +93,13 @@
</g>
<g id="xtick3">
<g id="line2d6">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="238.006012" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="238.635616" y="200.290909"/>
</g></g>
<g id="line2d7">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="238.006012" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="238.635616" y="43.200000"/>
</g></g>
<g id="text3">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(210.591950,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(211.221554,213.197159)scale(0.120000)">
<use xlink:href="#c_72234ddc5dcad8d05c893ef0371171da"/>
<use xlink:href="#c_01d93a582460e35a7945ca50d148ffeb" x="86.279297"/>
<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="147.558594"/>
@@ -113,13 +113,13 @@
</g>
<g id="xtick4">
<g id="line2d8">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="294.890843" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="294.894247" y="200.290909"/>
</g></g>
<g id="line2d9">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="294.890843" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="294.894247" y="43.200000"/>
</g></g>
<g id="text4">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(267.297093,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(267.300497,213.197159)scale(0.120000)">
<use xlink:href="#c_b672e4bee30772019085dff1098f516d"/>
<use xlink:href="#c_0bce5afba2dc6b9024b26277c38ad8e8" x="63.476562"/>
<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="125.000000"/>
@@ -133,16 +133,16 @@
</g>
<g id="xtick5">
<g id="line2d10">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="350.848204" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="350.235616" y="200.290909"/>
</g></g>
<g id="line2d11">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="350.848204" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="350.235616" y="43.200000"/>
</g></g>
<g id="text5">
<defs>
<path id="c_bef35738d52871942e50b9de9b122bab" d="M31.781250 -34.625000q-7.031250 0.000000 -11.062500 3.765625q-4.015625 3.765625 -4.015625 10.343750q0.000000 6.593750 4.015625 10.359375q4.031250 3.765625 11.062500 3.765625q7.031250 0.000000 11.078125 -3.781250q4.062500 -3.796875 4.062500 -10.343750q0.000000 -6.578125 -4.031250 -10.343750q-4.015625 -3.765625 -11.109375 -3.765625M21.921875 -38.812500q-6.343750 -1.562500 -9.890625 -5.906250q-3.531250 -4.359375 -3.531250 -10.609375q0.000000 -8.734375 6.218750 -13.812500q6.234375 -5.078125 17.062500 -5.078125q10.890625 0.000000 17.093750 5.078125q6.203125 5.078125 6.203125 13.812500q0.000000 6.250000 -3.546875 10.609375q-3.531250 4.343750 -9.828125 5.906250q7.125000 1.656250 11.093750 6.500000q3.984375 4.828125 3.984375 11.796875q0.000000 10.609375 -6.468750 16.281250q-6.468750 5.656250 -18.531250 5.656250q-12.046875 0.000000 -18.531250 -5.656250q-6.468750 -5.671875 -6.468750 -16.281250q0.000000 -6.968750 4.000000 -11.796875q4.015625 -4.843750 11.140625 -6.500000M18.312500 -54.390625q0.000000 5.656250 3.531250 8.828125q3.546875 3.171875 9.937500 3.171875q6.359375 0.000000 9.937500 -3.171875q3.593750 -3.171875 3.593750 -8.828125q0.000000 -5.671875 -3.593750 -8.843750q-3.578125 -3.171875 -9.937500 -3.171875q-6.390625 0.000000 -9.937500 3.171875q-3.531250 3.171875 -3.531250 8.843750"/>
</defs>
-<g style="fill: #000000; opacity: 1.000000" transform="translate(323.332579,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(322.719991,213.197159)scale(0.120000)">
<use xlink:href="#c_72234ddc5dcad8d05c893ef0371171da"/>
<use xlink:href="#c_01d93a582460e35a7945ca50d148ffeb" x="86.279297"/>
<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="147.558594"/>
@@ -156,13 +156,13 @@
</g>
<g id="xtick6">
<g id="line2d12">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="407.733035" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="406.494247" y="200.290909"/>
</g></g>
<g id="line2d13">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="407.733035" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="406.494247" y="43.200000"/>
</g></g>
<g id="text6">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(380.037722,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(378.798934,213.197159)scale(0.120000)">
<use xlink:href="#c_b672e4bee30772019085dff1098f516d"/>
<use xlink:href="#c_0bce5afba2dc6b9024b26277c38ad8e8" x="63.476562"/>
<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="125.000000"/>
@@ -176,13 +176,13 @@
</g>
<g id="xtick7">
<g id="line2d14">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="463.690396" y="200.290909"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="461.835616" y="200.290909"/>
</g></g>
<g id="line2d15">
-<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="463.690396" y="43.200000"/>
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="461.835616" y="43.200000"/>
</g></g>
<g id="text7">
-<g style="fill: #000000; opacity: 1.000000" transform="translate(436.182583,213.197159)scale(0.120000)">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(434.327804,213.197159)scale(0.120000)">
<use xlink:href="#c_72234ddc5dcad8d05c893ef0371171da"/>
<use xlink:href="#c_01d93a582460e35a7945ca50d148ffeb" x="86.279297"/>
<use xlink:href="#c_6ec8d5749226675394676a5d2a3b468b" x="147.558594"/>
@@ -194,18 +194,38 @@
</g>
</g>
</g>
+<g id="xtick8">
+<g id="line2d16">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="518.094247" y="200.290909"/>
+</g></g>
+<g id="line2d17">
+<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="518.094247" y="43.200000"/>
+</g></g>
+<g id="text8">
+<g style="fill: #000000; opacity: 1.000000" transform="translate(490.406747,213.197159)scale(0.120000)">
+<use xlink:href="#c_b672e4bee30772019085dff1098f516d"/>
+<use xlink:href="#c_0bce5afba2dc6b9024b26277c38ad8e8" x="63.476562"/>
+<use xlink:href="#c_f15a64fcd463ef4629c48bab42cde24c" x="125.000000"/>
+<use xlink:href="#c_d41d8cd98f00b204e9800998ecf8427e" x="188.476562"/>
+<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="220.263672"/>
+<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6" x="283.886719"/>
+<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b" x="347.509766"/>
+<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6" x="411.132812"/>
</g>
+</g>
+</g>
+</g>
<g id="matplotlib.axis2">
<g id="ytick1">
-<g id="line2d16">
+<g id="line2d18">
<defs><path id="m3400efa6b1638b3fea9e19e898273957" d="M0.000000 0.000000L4.000000 0.000000"/></defs>
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="200.290909"/>
</g></g>
-<g id="line2d17">
+<g id="line2d19">
<defs><path id="m20b58b2501143cb5e0a5e8f1ef6f1643" d="M0.000000 0.000000L-4.000000 0.000000"/></defs>
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="200.290909"/>
</g></g>
-<g id="text8">
+<g id="text9">
<defs>
<path id="c_6a8d56c819c37117ab4cf023bec22a5a" d="M10.593750 -35.500000l62.593750 0.000000l0.000000 8.296875l-62.593750 0.000000z"/>
</defs>
@@ -217,13 +237,13 @@
</g>
</g>
<g id="ytick2">
-<g id="line2d18">
+<g id="line2d20">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="177.849351"/>
</g></g>
-<g id="line2d19">
+<g id="line2d21">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="177.849351"/>
</g></g>
-<g id="text9">
+<g id="text10">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.750000,182.216538)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -232,13 +252,13 @@
</g>
</g>
<g id="ytick3">
-<g id="line2d20">
+<g id="line2d22">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="155.407792"/>
</g></g>
-<g id="line2d21">
+<g id="line2d23">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="155.407792"/>
</g></g>
-<g id="text10">
+<g id="text11">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.953125,159.774980)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -247,13 +267,13 @@
</g>
</g>
<g id="ytick4">
-<g id="line2d22">
+<g id="line2d24">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="132.966234"/>
</g></g>
-<g id="line2d23">
+<g id="line2d25">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="132.966234"/>
</g></g>
-<g id="text11">
+<g id="text12">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.687500,137.333421)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -262,13 +282,13 @@
</g>
</g>
<g id="ytick5">
-<g id="line2d24">
+<g id="line2d26">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="110.524675"/>
</g></g>
-<g id="line2d25">
+<g id="line2d27">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="110.524675"/>
</g></g>
-<g id="text12">
+<g id="text13">
<defs>
<path id="c_1260a2df50f305f3db244e29828f968e" d="M10.796875 -72.906250l38.718750 0.000000l0.000000 8.312500l-29.687500 0.000000l0.000000 17.859375q2.140625 -0.734375 4.281250 -1.093750q2.156250 -0.359375 4.312500 -0.359375q12.203125 0.000000 19.328125 6.687500q7.140625 6.687500 7.140625 18.109375q0.000000 11.765625 -7.328125 18.296875q-7.328125 6.515625 -20.656250 6.515625q-4.593750 0.000000 -9.359375 -0.781250q-4.750000 -0.781250 -9.828125 -2.343750l0.000000 -9.921875q4.390625 2.390625 9.078125 3.562500q4.687500 1.171875 9.906250 1.171875q8.453125 0.000000 13.375000 -4.437500q4.937500 -4.437500 4.937500 -12.062500q0.000000 -7.609375 -4.937500 -12.046875q-4.921875 -4.453125 -13.375000 -4.453125q-3.953125 0.000000 -7.890625 0.875000q-3.921875 0.875000 -8.015625 2.734375z"/>
</defs>
@@ -280,13 +300,13 @@
</g>
</g>
<g id="ytick6">
-<g id="line2d26">
+<g id="line2d28">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="88.083117"/>
</g></g>
-<g id="line2d27">
+<g id="line2d29">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="88.083117"/>
</g></g>
-<g id="text13">
+<g id="text14">
<defs>
<path id="c_a0416418d96557a09b8c1332d34883ba" d="M37.796875 -64.312500l-24.906250 38.921875l24.906250 0.000000zM35.203125 -72.906250l12.406250 0.000000l0.000000 47.515625l10.406250 0.000000l0.000000 8.203125l-10.406250 0.000000l0.000000 17.187500l-9.812500 0.000000l0.000000 -17.187500l-32.906250 0.000000l0.000000 -9.515625z"/>
</defs>
@@ -298,13 +318,13 @@
</g>
</g>
<g id="ytick7">
-<g id="line2d28">
+<g id="line2d30">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="65.641558"/>
</g></g>
-<g id="line2d29">
+<g id="line2d31">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="65.641558"/>
</g></g>
-<g id="text14">
+<g id="text15">
<defs>
<path id="c_3dcfa38a02242cb63ec6726c6e70be7a" d="M40.578125 -39.312500q7.078125 1.515625 11.046875 6.312500q3.984375 4.781250 3.984375 11.812500q0.000000 10.781250 -7.421875 16.703125q-7.421875 5.906250 -21.093750 5.906250q-4.578125 0.000000 -9.437500 -0.906250q-4.859375 -0.906250 -10.031250 -2.718750l0.000000 -9.515625q4.093750 2.390625 8.968750 3.609375q4.890625 1.218750 10.218750 1.218750q9.265625 0.000000 14.125000 -3.656250q4.859375 -3.656250 4.859375 -10.640625q0.000000 -6.453125 -4.515625 -10.078125q-4.515625 -3.640625 -12.562500 -3.640625l-8.500000 0.000000l0.000000 -8.109375l8.890625 0.000000q7.265625 0.000000 11.125000 -2.906250q3.859375 -2.906250 3.859375 -8.375000q0.000000 -5.609375 -3.984375 -8.609375q-3.968750 -3.015625 -11.390625 -3.015625q-4.062500 0.000000 -8.703125 0.890625q-4.640625 0.875000 -10.203125 2.718750l0.000000 -8.781250q5.625000 -1.562500 10.531250 -2.343750q4.906250 -0.781250 9.250000 -0.781250q11.234375 0.000000 17.765625 5.109375q6.546875 5.093750 6.546875 13.781250q0.000000 6.062500 -3.468750 10.234375q-3.468750 4.171875 -9.859375 5.781250"/>
</defs>
@@ -316,13 +336,13 @@
</g>
</g>
<g id="ytick8">
-<g id="line2d30">
+<g id="line2d32">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="43.200000"/>
</g></g>
-<g id="line2d31">
+<g id="line2d33">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="43.200000"/>
</g></g>
-<g id="text15">
+<g id="text16">
<defs>
<path id="c_ed3f3ed3ebfbd18bcb9c012009a68ad1" d="M19.187500 -8.296875l34.421875 0.000000l0.000000 8.296875l-46.281250 0.000000l0.000000 -8.296875q5.609375 -5.812500 15.296875 -15.593750q9.703125 -9.796875 12.187500 -12.640625q4.734375 -5.312500 6.609375 -9.000000q1.890625 -3.687500 1.890625 -7.250000q0.000000 -5.812500 -4.078125 -9.468750q-4.078125 -3.671875 -10.625000 -3.671875q-4.640625 0.000000 -9.796875 1.609375q-5.140625 1.609375 -11.000000 4.890625l0.000000 -9.968750q5.953125 -2.390625 11.125000 -3.609375q5.187500 -1.218750 9.484375 -1.218750q11.328125 0.000000 18.062500 5.671875q6.734375 5.656250 6.734375 15.125000q0.000000 4.500000 -1.687500 8.531250q-1.671875 4.015625 -6.125000 9.484375q-1.218750 1.421875 -7.765625 8.187500q-6.531250 6.765625 -18.453125 18.921875"/>
</defs>
@@ -352,7 +372,7 @@
<path style="fill: #ffffff; opacity: 1.000000" d="M72.000000 388.800000L518.400000 388.800000L518.400000 231.709091
L72.000000 231.709091L72.000000 388.800000"/>
</g>
-<g id="line2d32">
+<g id="line2d34">
<defs>
<clipPath id="pdceb94b59b302b6d614f8fc54d3b8e04">
<rect x="72.000000" y="231.709091" width="446.400000" height="157.090909"/>
@@ -360,14 +380,14 @@
</defs><g clip-path="url(#pdceb94b59b302b6d614f8fc54d3b8e04)"><use style="fill: #ff0000; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m87f81da4bcf58d853202912065521dc1" x="306.159120" y="311.152208"/>
</g></g>
<g id="matplotlib.axis3">
-<g id="xtick8">
-<g id="line2d33">
+<g id="xtick9">
+<g id="line2d35">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="72.000000" y="388.800000"/>
</g></g>
-<g id="line2d34">
+<g id="line2d36">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="72.000000" y="231.709091"/>
</g></g>
-<g id="text16">
+<g id="text17">
<defs>
<path id="c_7a2040fe3b94fcd41d0a72c84e93b115" d="M31.781250 -66.406250q-7.609375 0.000000 -11.453125 7.500000q-3.828125 7.484375 -3.828125 22.531250q0.000000 14.984375 3.828125 22.484375q3.843750 7.500000 11.453125 7.500000q7.671875 0.000000 11.500000 -7.500000q3.843750 -7.500000 3.843750 -22.484375q0.000000 -15.046875 -3.843750 -22.531250q-3.828125 -7.500000 -11.500000 -7.500000M31.781250 -74.218750q12.265625 0.000000 18.734375 9.703125q6.468750 9.687500 6.468750 28.140625q0.000000 18.406250 -6.468750 28.109375q-6.468750 9.687500 -18.734375 9.687500q-12.250000 0.000000 -18.718750 -9.687500q-6.468750 -9.703125 -6.468750 -28.109375q0.000000 -18.453125 6.468750 -28.140625q6.468750 -9.703125 18.718750 -9.703125"/>
</defs>
@@ -381,14 +401,14 @@
</g>
</g>
</g>
-<g id="xtick9">
-<g id="line2d35">
+<g id="xtick10">
+<g id="line2d37">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="127.800000" y="388.800000"/>
</g></g>
-<g id="line2d36">
+<g id="line2d38">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="127.800000" y="231.709091"/>
</g></g>
-<g id="text17">
+<g id="text18">
<g style="fill: #000000; opacity: 1.000000" transform="translate(105.698438,401.706250)scale(0.120000)">
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a"/>
<use xlink:href="#c_cd96f817f3cab988d24a2b49a5577fe6" x="63.623047"/>
@@ -399,14 +419,14 @@
</g>
</g>
</g>
-<g id="xtick10">
-<g id="line2d37">
+<g id="xtick11">
+<g id="line2d39">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="183.600000" y="388.800000"/>
</g></g>
-<g id="line2d38">
+<g id="line2d40">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="183.600000" y="231.709091"/>
</g></g>
-<g id="text18">
+<g id="text19">
<g style="fill: #000000; opacity: 1.000000" transform="translate(161.568750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_7a2040fe3b94fcd41d0a72c84e93b115" x="63.623047"/>
@@ -417,14 +437,14 @@
</g>
</g>
</g>
-<g id="xtick11">
-<g id="line2d39">
+<g id="xtick12">
+<g id="line2d41">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="239.400000" y="388.800000"/>
</g></g>
-<g id="line2d40">
+<g id="line2d42">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="239.400000" y="231.709091"/>
</g></g>
-<g id="text19">
+<g id="text20">
<g style="fill: #000000; opacity: 1.000000" transform="translate(217.368750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_42baa63129a918535c52adb20d687ea7" x="63.623047"/>
@@ -435,14 +455,14 @@
</g>
</g>
</g>
-<g id="xtick12">
-<g id="line2d41">
+<g id="xtick13">
+<g id="line2d43">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="295.200000" y="388.800000"/>
</g></g>
-<g id="line2d42">
+<g id="line2d44">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="295.200000" y="231.709091"/>
</g></g>
-<g id="text20">
+<g id="text21">
<g style="fill: #000000; opacity: 1.000000" transform="translate(273.168750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_ed3f3ed3ebfbd18bcb9c012009a68ad1" x="63.623047"/>
@@ -453,14 +473,14 @@
</g>
</g>
</g>
-<g id="xtick13">
-<g id="line2d43">
+<g id="xtick14">
+<g id="line2d45">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="351.000000" y="388.800000"/>
</g></g>
-<g id="line2d44">
+<g id="line2d46">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="351.000000" y="231.709091"/>
</g></g>
-<g id="text21">
+<g id="text22">
<g style="fill: #000000; opacity: 1.000000" transform="translate(328.968750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_3dcfa38a02242cb63ec6726c6e70be7a" x="63.623047"/>
@@ -471,14 +491,14 @@
</g>
</g>
</g>
-<g id="xtick14">
-<g id="line2d45">
+<g id="xtick15">
+<g id="line2d47">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="406.800000" y="388.800000"/>
</g></g>
-<g id="line2d46">
+<g id="line2d48">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="406.800000" y="231.709091"/>
</g></g>
-<g id="text22">
+<g id="text23">
<g style="fill: #000000; opacity: 1.000000" transform="translate(384.768750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_a0416418d96557a09b8c1332d34883ba" x="63.623047"/>
@@ -489,14 +509,14 @@
</g>
</g>
</g>
-<g id="xtick15">
-<g id="line2d47">
+<g id="xtick16">
+<g id="line2d49">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="462.600000" y="388.800000"/>
</g></g>
-<g id="line2d48">
+<g id="line2d50">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="462.600000" y="231.709091"/>
</g></g>
-<g id="text23">
+<g id="text24">
<g style="fill: #000000; opacity: 1.000000" transform="translate(440.568750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_1260a2df50f305f3db244e29828f968e" x="63.623047"/>
@@ -507,14 +527,14 @@
</g>
</g>
</g>
-<g id="xtick16">
-<g id="line2d49">
+<g id="xtick17">
+<g id="line2d51">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m30e32995789d870ad79a2e54c91cf9c6" x="518.400000" y="388.800000"/>
</g></g>
-<g id="line2d50">
+<g id="line2d52">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m9281cae24120827b11d5ea8a7ad3e96b" x="518.400000" y="231.709091"/>
</g></g>
-<g id="text24">
+<g id="text25">
<g style="fill: #000000; opacity: 1.000000" transform="translate(496.368750,401.706250)scale(0.120000)">
<use xlink:href="#c_956f18cfdaf972f35a6c2b4aaac2532b"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="63.623047"/>
@@ -528,13 +548,13 @@
</g>
<g id="matplotlib.axis4">
<g id="ytick9">
-<g id="line2d51">
+<g id="line2d53">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="388.800000"/>
</g></g>
-<g id="line2d52">
+<g id="line2d54">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="388.800000"/>
</g></g>
-<g id="text25">
+<g id="text26">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.765625,393.167188)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -543,13 +563,13 @@
</g>
</g>
<g id="ytick10">
-<g id="line2d53">
+<g id="line2d55">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="366.358442"/>
</g></g>
-<g id="line2d54">
+<g id="line2d56">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="366.358442"/>
</g></g>
-<g id="text26">
+<g id="text27">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.750000,370.725629)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -558,13 +578,13 @@
</g>
</g>
<g id="ytick11">
-<g id="line2d55">
+<g id="line2d57">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="343.916883"/>
</g></g>
-<g id="line2d56">
+<g id="line2d58">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="343.916883"/>
</g></g>
-<g id="text27">
+<g id="text28">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.953125,348.284071)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -573,13 +593,13 @@
</g>
</g>
<g id="ytick12">
-<g id="line2d57">
+<g id="line2d59">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="321.475325"/>
</g></g>
-<g id="line2d58">
+<g id="line2d60">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="321.475325"/>
</g></g>
-<g id="text28">
+<g id="text29">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.687500,325.842512)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -588,13 +608,13 @@
</g>
</g>
<g id="ytick13">
-<g id="line2d59">
+<g id="line2d61">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="299.033766"/>
</g></g>
-<g id="line2d60">
+<g id="line2d62">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="299.033766"/>
</g></g>
-<g id="text29">
+<g id="text30">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.968750,303.400954)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -603,13 +623,13 @@
</g>
</g>
<g id="ytick14">
-<g id="line2d61">
+<g id="line2d63">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="276.592208"/>
</g></g>
-<g id="line2d62">
+<g id="line2d64">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="276.592208"/>
</g></g>
-<g id="text30">
+<g id="text31">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.593750,280.959395)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -618,13 +638,13 @@
</g>
</g>
<g id="ytick15">
-<g id="line2d63">
+<g id="line2d65">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="254.150649"/>
</g></g>
-<g id="line2d64">
+<g id="line2d66">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="254.150649"/>
</g></g>
-<g id="text31">
+<g id="text32">
<g style="fill: #000000; opacity: 1.000000" transform="translate(44.890625,258.517837)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
@@ -633,13 +653,13 @@
</g>
</g>
<g id="ytick16">
-<g id="line2d65">
+<g id="line2d67">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m3400efa6b1638b3fea9e19e898273957" x="72.000000" y="231.709091"/>
</g></g>
-<g id="line2d66">
+<g id="line2d68">
<g ><use style="fill: none; stroke: #000000; stroke-width: 0.500000; stroke-linejoin: round; stroke-linecap: butt; opacity: 1.000000" xlink:href="#m20b58b2501143cb5e0a5e8f1ef6f1643" x="518.400000" y="231.709091"/>
</g></g>
-<g id="text32">
+<g id="text33">
<g style="fill: #000000; opacity: 1.000000" transform="translate(45.125000,236.076278)scale(0.120000)">
<use xlink:href="#c_6a8d56c819c37117ab4cf023bec22a5a"/>
<use xlink:href="#c_cc8d6d580d1b10c8632f7a42cd53db8a" x="83.789062"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-26 21:11:10
|
Revision: 8274
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8274&view=rev
Author: efiring
Date: 2010-04-26 21:11:03 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
axes: set _tight default to False; restore previous nonsingular expander
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 20:37:14 UTC (rev 8273)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 21:11:03 UTC (rev 8274)
@@ -838,7 +838,7 @@
self._autoscaleYon = True
self._xmargin = 0
self._ymargin = 0
- self._tight = True
+ self._tight = False
self._update_transScale() # needed?
self._get_lines = _process_plot_var_args(self)
@@ -1722,7 +1722,8 @@
dl = [ax.dataLim for ax in xshared]
bb = mtransforms.BboxBase.union(dl)
x0, x1 = bb.intervalx
- x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False)
+ x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False,
+ expander=0.05)
if self._xmargin > 0:
delta = (x1 - x0) * self._xmargin
x0 -= delta
@@ -1736,7 +1737,8 @@
dl = [ax.dataLim for ax in yshared]
bb = mtransforms.BboxBase.union(dl)
y0, y1 = bb.intervaly
- y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False)
+ y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False,
+ expander=0.05)
if self._ymargin > 0:
delta = (y1 - y0) * self._ymargin
y0 -= delta
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ry...@us...> - 2010-04-26 20:37:20
|
Revision: 8273
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8273&view=rev
Author: ryanmay
Date: 2010-04-26 20:37:14 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
Remove unused import.
Modified Paths:
--------------
trunk/matplotlib/examples/animation/dynamic_image_gtkagg.py
Modified: trunk/matplotlib/examples/animation/dynamic_image_gtkagg.py
===================================================================
--- trunk/matplotlib/examples/animation/dynamic_image_gtkagg.py 2010-04-26 19:10:40 UTC (rev 8272)
+++ trunk/matplotlib/examples/animation/dynamic_image_gtkagg.py 2010-04-26 20:37:14 UTC (rev 8273)
@@ -9,7 +9,6 @@
import matplotlib
matplotlib.use('GTKAgg')
-from matplotlib import rcParams
from pylab import *
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ry...@us...> - 2010-04-26 19:10:46
|
Revision: 8272
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8272&view=rev
Author: ryanmay
Date: 2010-04-26 19:10:40 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
Make the TimerBase start/stop implementations just simple pass instead of raising NotImplementedError. This allows creating the timers for BackendAgg, which can simplify some cases.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/backend_bases.py
Modified: trunk/matplotlib/lib/matplotlib/backend_bases.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backend_bases.py 2010-04-26 19:10:18 UTC (rev 8271)
+++ trunk/matplotlib/lib/matplotlib/backend_bases.py 2010-04-26 19:10:40 UTC (rev 8272)
@@ -930,14 +930,10 @@
self._timer_stop()
def _timer_start(self):
- #TODO: Could we potentially make a generic version through
- #the use of Threads?
- raise NotImplementedError('Needs to be implemented by subclass.')
+ pass
def _timer_stop(self):
- #TODO: Could we potentially make a generic version through
- #the use of Threads?
- raise NotImplementedError('Needs to be implemented by subclass.')
+ pass
def _get_interval(self):
return self._interval
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-26 19:10:40
|
Revision: 8271
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8271&view=rev
Author: efiring
Date: 2010-04-26 19:10:18 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
hexbin tests: change to a sane baseline
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.png
trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.svg
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 18:49:47 UTC (rev 8270)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-26 19:10:18 UTC (rev 8271)
@@ -5951,7 +5951,7 @@
corners = ((xmin, ymin), (xmax, ymax))
self.update_datalim( corners)
- self.autoscale_view()
+ self.autoscale_view(tight=True)
# add the collection last
self.add_collection(collection)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf
===================================================================
(Binary files differ)
Modified: trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.png
===================================================================
--- trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.png 2010-04-26 18:49:47 UTC (rev 8270)
+++ trunk/matplotlib/lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.png 2010-04-26 19:10:18 UTC (rev 8271)
@@ -1,199 +1,141 @@
\x89PNG
|
|
From: <ef...@us...> - 2010-04-26 18:49:54
|
Revision: 8270
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8270&view=rev
Author: efiring
Date: 2010-04-26 18:49:47 +0000 (Mon, 26 Apr 2010)
Log Message:
-----------
coding_guide: add instructions for running a single test (from Mike D.)
Modified Paths:
--------------
trunk/matplotlib/doc/devel/coding_guide.rst
Modified: trunk/matplotlib/doc/devel/coding_guide.rst
===================================================================
--- trunk/matplotlib/doc/devel/coding_guide.rst 2010-04-23 18:34:32 UTC (rev 8269)
+++ trunk/matplotlib/doc/devel/coding_guide.rst 2010-04-26 18:49:47 UTC (rev 8270)
@@ -637,6 +637,13 @@
import matplotlib
matplotlib.test()
+To run a single test from the command line, you can provide
+a dot-separated path to the module and function, eg.
+(this is assuming the test is installed)::
+
+ nosetests matplotlib.tests.test_simplification:test_clipping
+
+
Writing a simple test
---------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-23 18:34:38
|
Revision: 8269
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8269&view=rev
Author: mdboom
Date: 2010-04-23 18:34:32 +0000 (Fri, 23 Apr 2010)
Log Message:
-----------
Pass strings to FT2Font -- never Unicode strings.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py
trunk/matplotlib/lib/matplotlib/backends/backend_ps.py
trunk/matplotlib/lib/matplotlib/mathtext.py
trunk/matplotlib/lib/matplotlib/textpath.py
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2010-04-23 18:33:51 UTC (rev 8268)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_pdf.py 2010-04-23 18:34:32 UTC (rev 8269)
@@ -654,7 +654,7 @@
if 0: flags |= 1 << 17 # TODO: small caps
if 0: flags |= 1 << 18 # TODO: force bold
- ft2font = FT2Font(fontfile)
+ ft2font = FT2Font(str(fontfile))
descriptor = {
'Type': Name('FontDescriptor'),
Modified: trunk/matplotlib/lib/matplotlib/backends/backend_ps.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2010-04-23 18:33:51 UTC (rev 8268)
+++ trunk/matplotlib/lib/matplotlib/backends/backend_ps.py 2010-04-23 18:34:32 UTC (rev 8269)
@@ -1104,7 +1104,7 @@
if not rcParams['ps.useafm']:
for font_filename, chars in ps_renderer.used_characters.values():
if len(chars):
- font = FT2Font(font_filename)
+ font = FT2Font(str(font_filename))
cmap = font.get_charmap()
glyph_ids = []
for c in chars:
Modified: trunk/matplotlib/lib/matplotlib/mathtext.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/mathtext.py 2010-04-23 18:33:51 UTC (rev 8268)
+++ trunk/matplotlib/lib/matplotlib/mathtext.py 2010-04-23 18:34:32 UTC (rev 8269)
@@ -597,7 +597,7 @@
cached_font = self._fonts.get(basename)
if cached_font is None:
- font = FT2Font(basename)
+ font = FT2Font(str(basename))
cached_font = self.CachedFont(font)
self._fonts[basename] = cached_font
self._fonts[font.postscript_name] = cached_font
Modified: trunk/matplotlib/lib/matplotlib/textpath.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/textpath.py 2010-04-23 18:33:51 UTC (rev 8268)
+++ trunk/matplotlib/lib/matplotlib/textpath.py 2010-04-23 18:34:32 UTC (rev 8269)
@@ -311,7 +311,7 @@
if font_and_encoding is None:
font_bunch = self.tex_font_map[dvifont.texname]
- font = FT2Font(font_bunch.filename)
+ font = FT2Font(str(font_bunch.filename))
try:
font.select_charmap(1094992451) # select ADOBE_CUSTOM
except ValueError:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <md...@us...> - 2010-04-23 18:33:57
|
Revision: 8268
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8268&view=rev
Author: mdboom
Date: 2010-04-23 18:33:51 +0000 (Fri, 23 Apr 2010)
Log Message:
-----------
Fix docstring formatting in imshow.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 08:27:18 UTC (rev 8267)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-23 18:33:51 UTC (rev 8268)
@@ -6406,11 +6406,10 @@
*interpolation*:
Acceptable values are *None*, 'nearest', 'bilinear',
- 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming',
- 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian',
- 'bessel', 'mitchell', 'sinc', 'lanczos',
+ 'bicubic', 'spline16', 'spline36', 'hanning', 'hamming',
+ 'hermite', 'kaiser', 'quadric', 'catrom', 'gaussian',
+ 'bessel', 'mitchell', 'sinc', 'lanczos'
-
If *interpolation* is *None*, default to rc
``image.interpolation``. See also the *filternorm* and
*filterrad* parameters
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-22 08:27:26
|
Revision: 8267
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8267&view=rev
Author: efiring
Date: 2010-04-22 08:27:18 +0000 (Thu, 22 Apr 2010)
Log Message:
-----------
Axes.hist: remove unnecessary copying of input array.
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 07:49:13 UTC (rev 8266)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 08:27:18 UTC (rev 8267)
@@ -7289,17 +7289,16 @@
if isinstance(x, np.ndarray):
# TODO: support masked arrays;
- # Why is the copy needed?
- x = np.array(x, copy=True, subok=False)
+ x = np.asarray(x)
if x.ndim == 2:
- x = x.T
+ x = x.T # 2-D input with columns as datasets; switch to rows
elif x.ndim == 1:
- x.shape = (1, x.shape[0])
+ x = x.reshape(1, x.shape[0]) # new view, single row
else:
raise ValueError("x must be 1D or 2D")
if x.shape[1] < x.shape[0]:
- warnings.warn('2D hist input should be nsamples x nvariables; '
- 'this looks transposed')
+ warnings.warn('2D hist input should be nsamples x nvariables;\n '
+ 'this looks transposed (shape is %d x %d)' % x.shape[::-1])
else:
# multiple hist with data of different length
x = [np.array(xi) for xi in x]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-22 07:49:20
|
Revision: 8266
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8266&view=rev
Author: efiring
Date: 2010-04-22 07:49:13 +0000 (Thu, 22 Apr 2010)
Log Message:
-----------
Axes.autoscale_view: ensure finite ranges; rearrange code for readability
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 03:34:10 UTC (rev 8265)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 07:49:13 UTC (rev 8266)
@@ -1710,45 +1710,41 @@
setting *scaley* to *False*. The autoscaling preserves any
axis direction reversal that has already been done.
"""
+ if tight is not None:
+ self._tight = bool(tight)
# if image data only just use the datalim
+ _tight = self._tight or (len(self.images)>0 and
+ len(self.lines)==0 and
+ len(self.patches)==0)
+
if scalex and self._autoscaleXon:
xshared = self._shared_x_axes.get_siblings(self)
dl = [ax.dataLim for ax in xshared]
bb = mtransforms.BboxBase.union(dl)
x0, x1 = bb.intervalx
+ x0, x1 = mtransforms.nonsingular(x0, x1, increasing=False)
if self._xmargin > 0:
delta = (x1 - x0) * self._xmargin
x0 -= delta
x1 += delta
+ if not _tight:
+ x0, x1 = self.xaxis.get_major_locator().view_limits(x0, x1)
+ self.set_xbound(x0, x1)
if scaley and self._autoscaleYon:
yshared = self._shared_y_axes.get_siblings(self)
dl = [ax.dataLim for ax in yshared]
bb = mtransforms.BboxBase.union(dl)
y0, y1 = bb.intervaly
+ y0, y1 = mtransforms.nonsingular(y0, y1, increasing=False)
if self._ymargin > 0:
delta = (y1 - y0) * self._ymargin
y0 -= delta
y1 += delta
+ if not _tight:
+ y0, y1 = self.yaxis.get_major_locator().view_limits(y0, y1)
+ self.set_ybound(y0, y1)
- if tight is not None:
- self._tight = bool(tight)
- if (self._tight or (len(self.images)>0 and
- len(self.lines)==0 and
- len(self.patches)==0)):
- if scalex and self._autoscaleXon:
- self.set_xbound(x0, x1)
- if scaley and self._autoscaleYon:
- self.set_ybound(y0, y1)
- return
-
- if scalex and self._autoscaleXon:
- XL = self.xaxis.get_major_locator().view_limits(x0, x1)
- self.set_xbound(XL)
- if scaley and self._autoscaleYon:
- YL = self.yaxis.get_major_locator().view_limits(y0, y1)
- self.set_ybound(YL)
-
#### Drawing
@allow_rasterization
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-22 03:34:16
|
Revision: 8265
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8265&view=rev
Author: efiring
Date: 2010-04-22 03:34:10 +0000 (Thu, 22 Apr 2010)
Log Message:
-----------
examples/cursor_demo: update to use axhline, axvline
Modified Paths:
--------------
trunk/matplotlib/examples/pylab_examples/cursor_demo.py
Modified: trunk/matplotlib/examples/pylab_examples/cursor_demo.py
===================================================================
--- trunk/matplotlib/examples/pylab_examples/cursor_demo.py 2010-04-22 03:22:55 UTC (rev 8264)
+++ trunk/matplotlib/examples/pylab_examples/cursor_demo.py 2010-04-22 03:34:10 UTC (rev 8265)
@@ -15,22 +15,19 @@
class Cursor:
def __init__(self, ax):
self.ax = ax
- self.lx, = ax.plot( (0,0), (0,0), 'k-' ) # the horiz line
- self.ly, = ax.plot( (0,0), (0,0), 'k-' ) # the vert line
+ self.lx = ax.axhline(color='k') # the horiz line
+ self.ly = ax.axvline(color='k') # the vert line
# text location in axes coords
self.txt = ax.text( 0.7, 0.9, '', transform=ax.transAxes)
def mouse_move(self, event):
if not event.inaxes: return
- ax = event.inaxes
- minx, maxx = ax.get_xlim()
- miny, maxy = ax.get_ylim()
x, y = event.xdata, event.ydata
# update the line positions
- self.lx.set_data( (minx, maxx), (y, y) )
- self.ly.set_data( (x, x), (miny, maxy) )
+ self.lx.set_ydata(y )
+ self.ly.set_xdata(x )
self.txt.set_text( 'x=%1.2f, y=%1.2f'%(x,y) )
draw()
@@ -43,8 +40,8 @@
"""
def __init__(self, ax, x, y):
self.ax = ax
- self.lx, = ax.plot( (0,0), (0,0), 'k-' ) # the horiz line
- self.ly, = ax.plot( (0,0), (0,0), 'k-' ) # the vert line
+ self.lx = ax.axhline(color='k') # the horiz line
+ self.ly = ax.axvline(color='k') # the vert line
self.x = x
self.y = y
# text location in axes coords
@@ -53,9 +50,6 @@
def mouse_move(self, event):
if not event.inaxes: return
- ax = event.inaxes
- minx, maxx = ax.get_xlim()
- miny, maxy = ax.get_ylim()
x, y = event.xdata, event.ydata
@@ -63,8 +57,8 @@
x = self.x[indx]
y = self.y[indx]
# update the line positions
- self.lx.set_data( (minx, maxx), (y, y) )
- self.ly.set_data( (x, x), (miny, maxy) )
+ self.lx.set_ydata(y )
+ self.ly.set_xdata(x )
self.txt.set_text( 'x=%1.2f, y=%1.2f'%(x,y) )
print 'x=%1.2f, y=%1.2f'%(x,y)
@@ -81,3 +75,4 @@
ax.plot(t, s, 'o')
axis([0,1,-1,1])
show()
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-22 03:23:01
|
Revision: 8264
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8264&view=rev
Author: efiring
Date: 2010-04-22 03:22:55 +0000 (Thu, 22 Apr 2010)
Log Message:
-----------
Axes: save "tight" state; margin() default is now tight=True
Modified Paths:
--------------
trunk/matplotlib/lib/matplotlib/axes.py
Modified: trunk/matplotlib/lib/matplotlib/axes.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/axes.py 2010-04-21 21:49:53 UTC (rev 8263)
+++ trunk/matplotlib/lib/matplotlib/axes.py 2010-04-22 03:22:55 UTC (rev 8264)
@@ -838,6 +838,7 @@
self._autoscaleYon = True
self._xmargin = 0
self._ymargin = 0
+ self._tight = True
self._update_transScale() # needed?
self._get_lines = _process_plot_var_args(self)
@@ -1231,7 +1232,7 @@
elif s in ('equal', 'tight', 'scaled', 'normal', 'auto', 'image'):
self.set_autoscale_on(True)
self.set_aspect('auto')
- self.autoscale_view()
+ self.autoscale_view(tight=False)
# self.apply_aspect()
if s=='equal':
self.set_aspect('equal', adjustable='datalim')
@@ -1646,17 +1647,22 @@
::
- margins(margin, tight=True)
+ margins(margin)
- margins(xmargin, ymargin, tight=True)
+ margins(xmargin, ymargin)
- margins(x=xmargin, y=ymargin, tight=True)
+ margins(x=xmargin, y=ymargin)
+ margins(..., tight=False)
+
All three forms above set the xmargin and ymargin parameters.
All keyword parameters are optional. A single argument
specifies both xmargin and ymargin. The *tight* parameter
is passed to :meth:`autoscale_view`, which is executed after
- a margin is changed.
+ a margin is changed; the default here is *True*, on the
+ assumption that when margins are specified, no additional
+ padding to match tick marks is usually desired. Setting
+ *tight* to *None* will preserve the previous setting.
Specifying any margin changes only the autoscaling; for example,
if *xmargin* is not zero, then *xmargin* times the X data
@@ -1667,7 +1673,7 @@
if not args and not kw:
return self._ymargin, self._ymargin
- tight = kw.pop('tight', False)
+ tight = kw.pop('tight', True)
mx = kw.pop('x', None)
my = kw.pop('y', None)
if len(args) == 1:
@@ -1697,7 +1703,7 @@
return self._rasterization_zorder
- def autoscale_view(self, tight=False, scalex=True, scaley=True):
+ def autoscale_view(self, tight=None, scalex=True, scaley=True):
"""
autoscale the view limits using the data limits. You can
selectively autoscale only a single axis, eg, the xaxis by
@@ -1725,7 +1731,9 @@
y0 -= delta
y1 += delta
- if (tight or (len(self.images)>0 and
+ if tight is not None:
+ self._tight = bool(tight)
+ if (self._tight or (len(self.images)>0 and
len(self.lines)==0 and
len(self.patches)==0)):
if scalex and self._autoscaleXon:
@@ -2027,7 +2035,7 @@
raise AttributeError(
"This method only works with the ScalarFormatter.")
- def locator_params(self, axis='both', tight=False, **kwargs):
+ def locator_params(self, axis='both', tight=None, **kwargs):
"""
Convenience method for controlling tick locators.
@@ -2038,7 +2046,8 @@
default is 'both'.
*tight*
- [True | False] Parameter passed to :meth:`autoscale_view`.
+ [True | False | None] Parameter passed to :meth:`autoscale_view`.
+ Default is None, for no change.
Remaining keyword arguments are passed to directly to the
:meth:`~matplotlib.ticker.MaxNLocator.set_params` method.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-21 21:50:00
|
Revision: 8263
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8263&view=rev
Author: efiring
Date: 2010-04-21 21:49:53 +0000 (Wed, 21 Apr 2010)
Log Message:
-----------
simpletest_oo.py: remove inactive lines, improve readability
Modified Paths:
--------------
trunk/toolkits/basemap/examples/simpletest_oo.py
Modified: trunk/toolkits/basemap/examples/simpletest_oo.py
===================================================================
--- trunk/toolkits/basemap/examples/simpletest_oo.py 2010-04-21 21:47:13 UTC (rev 8262)
+++ trunk/toolkits/basemap/examples/simpletest_oo.py 2010-04-21 21:49:53 UTC (rev 8263)
@@ -1,28 +1,32 @@
-#####################################
-# pylab-free version of simpletest.py
-#####################################
-# set backend to Agg.
-import matplotlib
-matplotlib.use('Agg')
+######################################
+# pyplot-free version of simpletest.py
+######################################
+
+import numpy as np
+
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
-from mpl_toolkits.basemap import Basemap
from matplotlib.figure import Figure
-import numpy as np
import matplotlib.cm as cm
+from mpl_toolkits.basemap import Basemap
+
# read in topo data (on a regular lat/lon grid)
# longitudes go from 20 to 380.
etopo = np.loadtxt('etopo20data.gz')
lons = np.loadtxt('etopo20lons.gz')
lats = np.loadtxt('etopo20lats.gz')
+
# create figure.
fig = Figure()
canvas = FigureCanvas(fig)
+
# create axes instance, leaving room for colorbar at bottom.
ax = fig.add_axes([0.125,0.175,0.75,0.75])
+
# create Basemap instance for Robinson projection.
# set 'ax' keyword so pylab won't be imported.
m = Basemap(projection='robin',lon_0=0.5*(lons[0]+lons[-1]),ax=ax)
+
# make filled contour plot.
x, y = m(*np.meshgrid(lons, lats))
cs = m.contourf(x,y,etopo,30,cmap=cm.jet)
@@ -35,12 +39,15 @@
m.drawmeridians(np.arange(0.,420.,60.),labels=[0,0,0,1],fontsize=10)
# add a title.
ax.set_title('Robinson Projection')
+
# add a colorbar.
pos = ax.get_position()
l, b, w, h = pos.bounds
cax = fig.add_axes([l, b-0.1, w, 0.03],frameon=False) # setup colorbar axes
-fig.colorbar(cs, cax=cax, orientation='horizontal',ticks=cs.levels[::3])
+fig.colorbar(cs, cax=cax, orientation='horizontal',ticks=cs.levels[::3])
+
# save image (width 800 pixels with dpi=100 and fig width 8 inches).
canvas.print_figure('simpletest',dpi=100)
# done.
print 'image saved in simpletest.png'
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-21 21:47:20
|
Revision: 8262
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8262&view=rev
Author: efiring
Date: 2010-04-21 21:47:13 +0000 (Wed, 21 Apr 2010)
Log Message:
-----------
Remove some pre-mpl-0.98 support
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-04-21 20:24:27 UTC (rev 8261)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2010-04-21 21:47:13 UTC (rev 8262)
@@ -2660,10 +2660,7 @@
ax.hold(b)
# reset current active image (only if pyplot is imported).
if plt:
- try:
- plt.sci(ret)
- except AttributeError:
- plt.gci._current = ret
+ plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2725,10 +2722,7 @@
ax.hold(b)
# reset current active image (only if pyplot is imported).
if plt:
- try:
- plt.sci(ret)
- except AttributeError:
- plt.gci._current = ret
+ plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2764,10 +2758,7 @@
ax.hold(b)
# reset current active image (only if pyplot is imported).
if plt:
- try:
- plt.sci(ret)
- except AttributeError:
- plt.gci._current = ret
+ plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2795,10 +2786,7 @@
ax.hold(b)
# reset current active image (only if pyplot is imported).
if plt:
- try:
- plt.sci(ret)
- except AttributeError:
- plt.gci._current = ret
+ plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2848,22 +2836,11 @@
ax.hold(b)
raise
ax.hold(b)
+ # reset current active image (only if pyplot is imported).
+ if plt and CS.get_array() is not None:
+ plt.sci(CS)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
- # reset current active image (only if pyplot is imported).
- if plt:
- try: # new contour.
- if CS._A is not None:
- try:
- plt.sci(CS)
- except AttributeError:
- plt.gci._current = CS
- except: # old contour.
- if CS[1].mappable is not None:
- try:
- plt.sci(CS[1].mappable)
- except AttributeError:
- plt.gci._current = CS[1].mappable
return CS
def contourf(self,x,y,data,*args,**kwargs):
@@ -2922,22 +2899,11 @@
ax.hold(b)
raise
ax.hold(b)
+ # reset current active image (only if pyplot is imported).
+ if plt and CS.get_array() is not None:
+ plt.sci(CS)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
- # reset current active image (only if pyplot is imported).
- if plt:
- try: # new contour.
- if CS._A is not None:
- try:
- plt.sci(CS)
- except AttributeError:
- plt.gci._current = CS
- except: # old contour.
- if CS[1].mappable is not None:
- try:
- plt.sci(CS[1].mappable)
- except AttributeError:
- plt.gci._current = CS[1].mappable
return CS
def quiver(self, x, y, u, v, *args, **kwargs):
@@ -3006,7 +2972,7 @@
# Because there are two collections returned in general,
# we can't set the current image...
#if plt is not None and ret.get_array() is not None:
- # plt.sci(ret)
+ # plt.sci(retnh)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return retnh,retsh
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ef...@us...> - 2010-04-21 20:24:33
|
Revision: 8261
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8261&view=rev
Author: efiring
Date: 2010-04-21 20:24:27 +0000 (Wed, 21 Apr 2010)
Log Message:
-----------
Remove redundant operations, especially forced drawing in interactive mode
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-04-20 22:37:01 UTC (rev 8260)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2010-04-21 20:24:27 UTC (rev 8261)
@@ -30,7 +30,7 @@
higher, you have version %s""" %
(_mpl_required_version,_matplotlib_version))
raise ImportError(msg)
-from matplotlib import rcParams, is_interactive, _pylab_helpers
+from matplotlib import rcParams, is_interactive
from matplotlib.collections import LineCollection
from matplotlib.patches import Ellipse, Circle, Polygon
from matplotlib.lines import Line2D
@@ -41,7 +41,6 @@
import numpy.ma as ma
from shapelib import ShapeFile
import _geoslib, netcdftime
-import cm
# basemap data files now installed in lib/matplotlib/toolkits/basemap/data
# check to see if environment variable BASEMAPDATA set to a directory,
@@ -313,7 +312,7 @@
latitude circle boundinglat is tangent to the edge
of the map at lon_0.
satellite_height height of satellite (in m) above equator -
- only relevant for geostationary
+ only relevant for geostationary
and near-sided perspective (``geos`` or ``nsper``)
projections. Default 35,786 km.
================ ====================================================
@@ -760,6 +759,8 @@
# if ax == None, pyplot.gca may be used.
self.ax = ax
self.lsmask = None
+ # This will record hashs of Axes instances.
+ self._initialized_axes = set()
# set defaults for area_thresh.
self.resolution = resolution
@@ -2583,11 +2584,33 @@
def set_axes_limits(self,ax=None):
"""
+ Final step in Basemap method wrappers of Axes plotting methods:
+
Set axis limits, fix aspect ratio for map domain using current
- or specified axes instance.
+ or specified axes instance. This is done only once per axes
+ instance.
+
+ In interactive mode, this method always calls draw_if_interactive
+ before returning.
+
"""
# get current axes instance (if none specified).
ax = ax or self._check_ax()
+
+ # If we have already set the axes limits, and if the user
+ # has not defeated this by turning autoscaling back on,
+ # then all we need to do is plot if interactive.
+ if (hash(ax) in self._initialized_axes
+ and not ax.get_autoscalex_on()
+ and not ax.get_autoscaley_on()):
+ if is_interactive():
+ import matplotlib.pyplot as plt
+ plt.draw_if_interactive()
+ return
+
+ self._initialized_axes.add(hash(ax))
+ # Take control of axis scaling:
+ ax.set_autoscale_on(False)
# update data limits for map domain.
corners = ((self.llcrnrx,self.llcrnry), (self.urcrnrx,self.urcrnry))
ax.update_datalim( corners )
@@ -2605,15 +2628,14 @@
ax.set_aspect('equal',adjustable='box',anchor=self.anchor)
else:
ax.set_aspect('auto',adjustable='box',anchor=self.anchor)
- ax.apply_aspect()
# make sure axis ticks are turned off.
if self.noticks:
ax.set_xticks([])
ax.set_yticks([])
# force draw if in interactive mode.
if is_interactive():
- figManager = _pylab_helpers.Gcf.get_active()
- figManager.canvas.draw()
+ import matplotlib.pyplot as plt
+ plt.draw_if_interactive()
def scatter(self, *args, **kwargs):
"""
@@ -2624,10 +2646,7 @@
Other \**kwargs passed on to matplotlib.pyplot.scatter.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# allow callers to override the hold state by passing hold=True|False
b = ax.ishold()
h = kwargs.pop('hold',None)
@@ -2635,22 +2654,16 @@
ax.hold(h)
try:
ret = ax.scatter(*args, **kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try:
plt.sci(ret)
except AttributeError:
plt.gci._current = ret
- except:
- pass
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2672,10 +2685,6 @@
ax.hold(h)
try:
ret = ax.plot(*args, **kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
@@ -2698,10 +2707,7 @@
returns an matplotlib.image.AxesImage instance.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
kwargs['extent']=(self.llcrnrx,self.urcrnrx,self.llcrnry,self.urcrnry)
# use origin='lower', unless overridden.
if not kwargs.has_key('origin'):
@@ -2713,22 +2719,16 @@
ax.hold(h)
try:
ret = ax.imshow(*args, **kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try:
plt.sci(ret)
except AttributeError:
plt.gci._current = ret
- except:
- pass
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2746,10 +2746,7 @@
Other \**kwargs passed on to matplotlib.pyplot.pcolor.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# make x,y masked arrays
# (masked where data is outside of projection limb)
x = ma.masked_values(np.where(x > 1.e20,1.e20,x), 1.e20)
@@ -2761,22 +2758,16 @@
ax.hold(h)
try:
ret = ax.pcolor(x,y,data,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try:
plt.sci(ret)
except AttributeError:
plt.gci._current = ret
- except:
- pass
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2790,10 +2781,7 @@
Other \**kwargs passed on to matplotlib.pyplot.pcolormesh.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# allow callers to override the hold state by passing hold=True|False
b = ax.ishold()
h = kwargs.pop('hold',None)
@@ -2801,22 +2789,16 @@
ax.hold(h)
try:
ret = ax.pcolormesh(x,y,data,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try:
plt.sci(ret)
except AttributeError:
plt.gci._current = ret
- except:
- pass
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -2830,10 +2812,7 @@
Other \*args and \**kwargs passed on to matplotlib.pyplot.contour.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# make sure x is monotonically increasing - if not,
# print warning suggesting that the data be shifted in longitude
# with the shiftgrid function.
@@ -2865,10 +2844,6 @@
ax.hold(h)
try:
CS = ax.contour(x,y,data,*args,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
@@ -2876,7 +2851,7 @@
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try: # new contour.
if CS._A is not None:
try:
@@ -2889,8 +2864,6 @@
plt.sci(CS[1].mappable)
except AttributeError:
plt.gci._current = CS[1].mappable
- except:
- pass
return CS
def contourf(self,x,y,data,*args,**kwargs):
@@ -2905,10 +2878,7 @@
Other \*args and \**kwargs passed on to matplotlib.pyplot.scatter.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# make sure x is monotonically increasing - if not,
# print warning suggesting that the data be shifted in longitude
# with the shiftgrid function.
@@ -2948,10 +2918,6 @@
ax.hold(h)
try:
CS = ax.contourf(x,y,data,*args,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
@@ -2959,7 +2925,7 @@
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
# reset current active image (only if pyplot is imported).
- try:
+ if plt:
try: # new contour.
if CS._A is not None:
try:
@@ -2972,8 +2938,6 @@
plt.sci(CS[1].mappable)
except AttributeError:
plt.gci._current = CS[1].mappable
- except:
- pass
return CS
def quiver(self, x, y, u, v, *args, **kwargs):
@@ -2985,10 +2949,7 @@
Other \*args and \**kwargs passed on to matplotlib.pyplot.quiver.
"""
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# allow callers to override the hold state by passing hold=True|False
b = ax.ishold()
h = kwargs.pop('hold',None)
@@ -2996,14 +2957,12 @@
ax.hold(h)
try:
ret = ax.quiver(x,y,u,v,*args,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
+ if plt is not None and ret.get_array() is not None:
+ plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return ret
@@ -3025,10 +2984,7 @@
barb method requires matplotlib 0.98.3 or higher,
you have %s""" % _matplotlib_version)
raise NotImplementedError(msg)
- ax = kwargs.pop('ax', None) or self._check_ax()
- # if ax kwarg not supplied, and ax attribute not set, import pyplot.
- if self.ax is None and kwargs.pop('ax', None) is None:
- import matplotlib.pyplot as plt
+ ax, plt = self._ax_plt_from_kw(kwargs)
# allow callers to override the hold state by passing hold=True|False
b = ax.ishold()
h = kwargs.pop('hold',None)
@@ -3043,14 +2999,14 @@
retnh = ax.barbs(x,y,unh,vnh,*args,**kwargs)
kwargs['flip_barb']=True
retsh = ax.barbs(x,y,ush,vsh,*args,**kwargs)
- try:
- plt.draw_if_interactive()
- except:
- pass
except:
ax.hold(b)
raise
ax.hold(b)
+ # Because there are two collections returned in general,
+ # we can't set the current image...
+ #if plt is not None and ret.get_array() is not None:
+ # plt.sci(ret)
# set axes limits to fit map region.
self.set_axes_limits(ax=ax)
return retnh,retsh
@@ -3595,6 +3551,24 @@
ax = self.ax
return ax
+ def _ax_plt_from_kw(self, kw):
+ """
+ Return (ax, plt), where ax is the current axes, and plt is
+ None or a reference to the pyplot module.
+
+ plt will be None if ax was popped from kw or taken from self.ax;
+ otherwise, pyplot was used and is returned.
+ """
+ plt = None
+ _ax = kw.pop('ax', None)
+ if _ax is None:
+ _ax = self.ax
+ if _ax is None:
+ import matplotlib.pyplot as plt
+ _ax = plt.gca()
+ return _ax, plt
+
+
### End of Basemap class
def _searchlist(a,x):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|