Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

added unittest for colorbar creation.

  • Loading branch information...
commit 6f47a803445f69ca6cd17ccbbba1fc1e9d6222d2 1 parent be049b2
@pelson authored
View
173 lib/matplotlib/colorbar.py
@@ -153,7 +153,7 @@
*ax*
None | parent axes object(s) from which space for a new
colorbar axes will be stolen. If a list of axes is given
- they will be resized to make room for the colorbar axes.
+ they will all be resized to make room for the colorbar axes.
*use_gridspec*
False | If *cax* is None, a new *cax* is created as an instance of
Axes. If *ax* is an instance of Subplot and *use_gridspec* is True,
@@ -258,7 +258,7 @@ def __init__(self, ax, cmap=None,
values=None,
boundaries=None,
orientation='vertical',
- location='right',
+ ticklocation='auto',
extend='neither',
spacing='uniform', # uniform or proportional
ticks=None,
@@ -282,7 +282,6 @@ def __init__(self, ax, cmap=None,
self._inside = self._slice_dict[extend]
self.spacing = spacing
self.orientation = orientation
- self.location = location
self.drawedges = drawedges
self.filled = filled
self.extendfrac = extendfrac
@@ -292,7 +291,12 @@ def __init__(self, ax, cmap=None,
self.outline = None
self.patch = None
self.dividers = None
- self.set_label('')
+
+ if ticklocation == 'auto':
+ ticklocation = 'bottom' if orientation == 'horizontal' else 'right'
+ self.ticklocation = ticklocation
+
+ self.set_label(label)
if cbook.iterable(ticks):
self.locator = ticker.FixedLocator(ticks, nbins=len(ticks))
else:
@@ -342,14 +346,14 @@ def config_axis(self):
if self.orientation == 'vertical':
ax.xaxis.set_ticks([])
# location is either one of 'bottom' or 'top'
- ax.yaxis.set_label_position(self.location)
- ax.yaxis.set_ticks_position(self.location)
+ ax.yaxis.set_label_position(self.ticklocation)
+ ax.yaxis.set_ticks_position(self.ticklocation)
else:
ax.yaxis.set_ticks([])
# location is either one of 'left' or 'right'
- ax.xaxis.set_label_position(self.location)
+ ax.xaxis.set_label_position(self.ticklocation)
# XXX This wasn't enabled before...
- ax.xaxis.set_ticks_position(self.location)
+ ax.xaxis.set_ticks_position(self.ticklocation)
self._set_label()
@@ -956,112 +960,91 @@ def update_bruteforce(self, mappable):
@docstring.Substitution(make_axes_kw_doc)
-def make_axes_orig(parent, **kw):
- '''
- Resize and reposition a parent axes, and return a child
- axes suitable for a colorbar::
-
- cax, kw = make_axes(parent, **kw)
-
- Keyword arguments may include the following (with defaults):
-
- *orientation*
- 'vertical' or 'horizontal'
-
- %s
-
- All but the first of these are stripped from the input kw set.
-
- Returns (cax, kw), the child axes and the reduced kw dictionary.
- '''
- orientation = kw.setdefault('orientation', 'vertical')
- fraction = kw.pop('fraction', 0.15)
- shrink = kw.pop('shrink', 1.0)
- aspect = kw.pop('aspect', 20)
- #pb = transforms.PBox(parent.get_position())
- pb = parent.get_position(original=True).frozen()
- if orientation == 'vertical':
- pad = kw.pop('pad', 0.05)
- x1 = 1.0 - fraction
- pb1, pbx, pbcb = pb.splitx(x1 - pad, x1)
- pbcb = pbcb.shrunk(1.0, shrink).anchored('C', pbcb)
- anchor = kw.pop('anchor', (0.0, 0.5))
- panchor = kw.pop('panchor', (1.0, 0.5))
- else:
- pad = kw.pop('pad', 0.15)
- pbcb, pbx, pb1 = pb.splity(fraction, fraction + pad)
- pbcb = pbcb.shrunk(shrink, 1.0).anchored('C', pbcb)
- aspect = 1.0 / aspect
- anchor = kw.pop('anchor', (0.5, 1.0))
- panchor = kw.pop('panchor', (0.5, 0.0))
- parent.set_position(pb1)
- parent.set_anchor(panchor)
- fig = parent.get_figure()
- cax = fig.add_axes(pbcb)
- cax.set_aspect(aspect, anchor=anchor, adjustable='box')
- return cax, kw
-
-
-@docstring.Substitution(make_axes_kw_doc)
-def make_axes(parent, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kw):
+def make_axes(parents, location=None, orientation=None, fraction=0.15, shrink=1.0, aspect=20, **kw):
locations = ["left", "right", "top", "bottom"]
if orientation is not None and location is not None:
raise TypeError('position and orientation are mutually exclusive. Consider ' \
- 'setting the position to any of %s' % ','.join(locations))
-
- # must pump out an orientation for colorbar creation
- if location in ['left', 'right']:
- kw['orientation'] = 'vertical'
- kw['location'] = location
- anchor = kw.pop('anchor', (0.0, 0.5))
- # define the parent's anchor to be next to the new colorbar axes
- panchor = kw.pop('panchor', (1.0, 0.5))
- else:
- kw['orientation'] = 'horizontal'
- kw['location'] = location
- anchor = kw.pop('anchor', (0.5, 1.0))
- # define the parent's anchor to be next to the new colorbar axes
- panchor = kw.pop('panchor', (0.5, 0.0))
-
- # define padding between colorbar axes and parent axes in axes coordinates.
- # For best outcomes, pad is best at 0.15 when location is "bottom"
- if location == 'bottom':
- pad = kw.pop('pad', 0.0)
- else:
- pad = kw.pop('pad', 0.00)
-
- if isinstance(parent, list):
- parents_bbox = mtrans.Bbox.union([ax.get_position(original=True).frozen() \
- for ax in parent])
+ 'setting the position to any of %s' % ', '.join(locations))
+
+ # allow the user to not specify the location by specifying the orientation instead
+ if location is None:
+ location = 'right' if orientation == 'vertical' else 'bottom'
+
+ if location not in locations:
+ raise ValueError('Invalid colorbar location. Must be one of %s' % ', '.join(locations))
+
+ default_location_settings = {'left': {'anchor': (1.0, 0.5),
+ 'panchor': (0.0, 0.5),
+ 'pad': 0.10,
+ 'orientation': 'vertical'},
+ 'right': {'anchor': (0.0, 0.5),
+ 'panchor': (1.0, 0.5),
+ 'pad': 0.05,
+ 'orientation': 'vertical'},
+ 'top': {'anchor': (0.5, 0.0),
+ 'panchor': (0.5, 1.0),
+ 'pad': 0.05,
+ 'orientation': 'horizontal'},
+ 'bottom': {'anchor': (0.5, 1.0),
+ 'panchor': (0.5, 0.0),
+ 'pad': 0.15, # backwards compat
+ 'orientation': 'horizontal'},
+ }
+
+ loc_settings = default_location_settings[location]
+
+ # put appropriate values into the kw dict for passing back to
+ # the Colorbar class
+ kw['orientation'] = loc_settings['orientation']
+ kw['ticklocation'] = location
+
+ anchor = kw.pop('anchor', loc_settings['anchor'])
+ parent_anchor = kw.pop('panchor', loc_settings['panchor'])
+ pad = kw.pop('pad', loc_settings['pad'])
+
+
+ # turn parents into a list if it is not already
+ if not isinstance(parents, (list, tuple)):
+ parents = [parents]
+
+ fig = parents[0].get_figure()
+ if not all(fig is ax.get_figure() for ax in parents):
+ raise ValueError('Unable to create a colorbar axes as not all ' + \
+ 'parents share the same figure.')
+
+ # take a bounding box around all of the given axes
+ parents_bbox = mtrans.Bbox.union([ax.get_position(original=True).frozen() \
+ for ax in parents])
pb = parents_bbox
if location in ('left', 'right'):
if location == 'left':
- pbcb, _, pb1 = pb.splitx(1 - fraction, fraction + pad)
+ pbcb, _, pb1 = pb.splitx(fraction, fraction + pad)
else:
pb1, _, pbcb = pb.splitx(1 - fraction - pad, 1 - fraction)
- pbcb = pbcb.shrunk(1.0, shrink).anchored('C', pbcb)
-
+ pbcb = pbcb.shrunk(1.0, shrink).anchored(anchor, pbcb)
else:
- if location == 'top':
- pb1, _, pbcb = pb.splity(1 - fraction - pad, fraction)
- else:
+ if location == 'bottom':
pbcb, _, pb1 = pb.splity(fraction, fraction + pad)
- pbcb = pbcb.shrunk(shrink, 1.0).anchored('C', pbcb)
+ else:
+ pb1, _, pbcb = pb.splity(1 - fraction - pad, 1 - fraction)
+ pbcb = pbcb.shrunk(shrink, 1.0).anchored(anchor, pbcb)
+
# define the aspect ratio in terms of y's per x rather than x's per y
aspect = 1.0/aspect
+ # define a transform which takes us from old axes coordinates to
+ # new axes coordinates
shrinking_trans = mtrans.BboxTransform(parents_bbox, pb1)
- for ax in parent:
+ # transform each of the axes in parents using the new transform
+ for ax in parents:
new_posn = shrinking_trans.transform(ax.get_position())
new_posn = mtrans.Bbox(new_posn)
ax.set_position(new_posn)
- if panchor is not False:
- ax.set_anchor(panchor)
+ if parent_anchor is not False:
+ ax.set_anchor(parent_anchor)
- # XXX test all axes must be on the same figure...
- fig = parent[0].get_figure()
cax = fig.add_axes(pbcb)
cax.set_aspect(aspect, anchor=anchor, adjustable='box')
return cax, kw
@@ -1101,6 +1084,8 @@ def make_axes_gridspec(parent, **kw):
'''
orientation = kw.setdefault('orientation', 'vertical')
+ kw['ticklocation'] = 'auto'
+
fraction = kw.pop('fraction', 0.15)
shrink = kw.pop('shrink', 1.0)
aspect = kw.pop('aspect', 20)
View
8 lib/matplotlib/figure.py
@@ -1451,17 +1451,15 @@ def subplots_adjust(self, *args, **kwargs):
"""
self.subplotpars.update(*args, **kwargs)
- import matplotlib.axes
for ax in self.axes:
- if not isinstance(ax, matplotlib.axes.SubplotBase):
+ if not isinstance(ax, SubplotBase):
# Check if sharing a subplots axis
if (ax._sharex is not None and
- isinstance(ax._sharex,
- matplotlib.axes.SubplotBase)):
+ isinstance(ax._sharex, SubplotBase)):
ax._sharex.update_params()
ax.set_position(ax._sharex.figbox)
elif (ax._sharey is not None and
- isinstance(ax._sharey, matplotlib.axes.SubplotBase)):
+ isinstance(ax._sharey, SubplotBase)):
ax._sharey.update_params()
ax.set_position(ax._sharey.figbox)
else:
View
3  lib/matplotlib/testing/compare.py
@@ -300,6 +300,9 @@ def compare_images( expected, actual, tol, in_decorator=False ):
actual = convert(actual, False)
expected = convert(expected, True)
+ if not os.path.exists(expected):
+ raise IOError('Baseline image %r does not exist.' % expected)
+
# open the image files and remove the alpha channel (if it exists)
expectedImage = _png.read_png_int( expected )
actualImage = _png.read_png_int( actual )
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_locationing.pdf
Binary file not shown
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_locationing.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_sharing.pdf
Binary file not shown
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_sharing.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_with_orientation.pdf
Binary file not shown
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_with_orientation.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_with_subplots_adjust.pdf
Binary file not shown
View
BIN  lib/matplotlib/tests/baseline_images/test_colorbar/cbar_with_subplots_adjust.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2,449 lib/matplotlib/tests/baseline_images/test_colorbar/cbar_with_subplots_adjust.svg
@@ -0,0 +1,2449 @@
+<?xml version="1.0" encoding="utf-8" 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 height="432pt" version="1.1" viewBox="0 0 576 432" width="576pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <style type="text/css">
+*{stroke-linecap:square;stroke-linejoin:round;}
+ </style>
+ </defs>
+ <g id="figure_1">
+ <g id="patch_1">
+ <path d="
+M0 432
+L576 432
+L576 0
+L0 0
+z
+" style="fill:#ffffff;"/>
+ </g>
+ <g id="axes_1">
+ <g id="patch_2">
+ <path d="
+M72 345.6
+L244.8 345.6
+L244.8 21.6
+L72 21.6
+z
+" style="fill:#ffffff;"/>
+ </g>
+ <g id="PathCollection_1">
+ <defs>
+ <path d="
+M72 -86.4
+L76.4308 -86.4
+L80.8615 -86.4
+L85.2923 -86.4
+L89.7231 -86.4
+L94.1538 -86.4
+L98.5846 -86.4
+L103.015 -86.4
+L107.446 -86.4
+L111.877 -86.4
+L116.308 -86.4
+L120.738 -86.4
+L125.169 -86.4
+L129.6 -86.4
+L134.031 -86.4
+L138.462 -86.4
+L142.892 -86.4
+L147.323 -86.4
+L151.754 -86.4
+L156.185 -86.4
+L160.615 -86.4
+L165.046 -86.4
+L169.477 -86.4
+L173.908 -86.4
+L178.338 -86.4
+L182.769 -86.4
+L187.2 -86.4
+L191.631 -86.4
+L196.062 -86.4
+L200.492 -86.4
+L204.923 -86.4
+L209.354 -86.4
+L213.785 -86.4
+L218.215 -86.4
+L222.646 -86.4
+L227.077 -86.4
+L231.508 -86.4
+L235.938 -86.4
+L240.369 -86.4
+L244.8 -86.4
+L244.8 -97.5724
+L244.8 -108.745
+L244.8 -119.917
+L244.8 -131.09
+L244.8 -131.369
+L240.369 -131.648
+L235.938 -131.928
+L231.508 -132.207
+L227.077 -132.486
+L222.646 -132.766
+L218.215 -133.045
+L213.785 -133.324
+L209.354 -133.603
+L204.923 -133.883
+L200.492 -134.162
+L196.062 -134.441
+L191.631 -134.721
+L187.2 -135
+L182.769 -135.279
+L178.338 -135.559
+L173.908 -135.838
+L169.477 -136.117
+L165.046 -136.397
+L160.615 -136.676
+L156.185 -136.955
+L151.754 -137.234
+L147.323 -137.514
+L142.892 -137.793
+L138.462 -138.072
+L134.031 -138.352
+L129.6 -138.631
+L125.169 -138.91
+L120.738 -139.19
+L116.308 -139.469
+L111.877 -139.748
+L107.446 -140.028
+L103.015 -140.307
+L98.5846 -140.586
+L94.1538 -140.866
+L89.7231 -141.145
+L85.2923 -141.424
+L80.8615 -141.703
+L76.4308 -141.983
+L72 -142.262
+L72 -142.262
+L72 -142.262
+L72 -131.09
+L72 -119.917
+L72 -108.745
+L72 -97.5724
+L72 -86.4" id="C0_0_0bbe76a124"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#0000df;" x="0" xlink:href="#C0_0_0bbe76a124" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_2">
+ <defs>
+ <path d="
+M76.4308 -141.983
+L80.8615 -141.703
+L85.2923 -141.424
+L89.7231 -141.145
+L94.1538 -140.866
+L98.5846 -140.586
+L103.015 -140.307
+L107.446 -140.028
+L111.877 -139.748
+L116.308 -139.469
+L120.738 -139.19
+L125.169 -138.91
+L129.6 -138.631
+L134.031 -138.352
+L138.462 -138.072
+L142.892 -137.793
+L147.323 -137.514
+L151.754 -137.234
+L156.185 -136.955
+L160.615 -136.676
+L165.046 -136.397
+L169.477 -136.117
+L173.908 -135.838
+L178.338 -135.559
+L182.769 -135.279
+L187.2 -135
+L191.631 -134.721
+L196.062 -134.441
+L200.492 -134.162
+L204.923 -133.883
+L209.354 -133.603
+L213.785 -133.324
+L218.215 -133.045
+L222.646 -132.766
+L227.077 -132.486
+L231.508 -132.207
+L235.938 -131.928
+L240.369 -131.648
+L244.8 -131.369
+L244.8 -142.262
+L244.8 -153.434
+L244.8 -164.607
+L244.8 -175.779
+L244.8 -186.952
+L244.8 -187.231
+L240.369 -187.51
+L235.938 -187.79
+L231.508 -188.069
+L227.077 -188.348
+L222.646 -188.628
+L218.215 -188.907
+L213.785 -189.186
+L209.354 -189.466
+L204.923 -189.745
+L200.492 -190.024
+L196.062 -190.303
+L191.631 -190.583
+L187.2 -190.862
+L182.769 -191.141
+L178.338 -191.421
+L173.908 -191.7
+L169.477 -191.979
+L165.046 -192.259
+L160.615 -192.538
+L156.185 -192.817
+L151.754 -193.097
+L147.323 -193.376
+L142.892 -193.655
+L138.462 -193.934
+L134.031 -194.214
+L129.6 -194.493
+L125.169 -194.772
+L120.738 -195.052
+L116.308 -195.331
+L111.877 -195.61
+L107.446 -195.89
+L103.015 -196.169
+L98.5846 -196.448
+L94.1538 -196.728
+L89.7231 -197.007
+L85.2923 -197.286
+L80.8615 -197.566
+L76.4308 -197.845
+L72 -198.124
+L72 -198.124
+L72 -198.124
+L72 -186.952
+L72 -175.779
+L72 -164.607
+L72 -153.434
+L72 -142.262
+L72 -142.262
+L76.4308 -141.983" id="C1_0_2bebc82e30"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#0081ff;" x="0" xlink:href="#C1_0_2bebc82e30" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_3">
+ <defs>
+ <path d="
+M76.4308 -197.845
+L80.8615 -197.566
+L85.2923 -197.286
+L89.7231 -197.007
+L94.1538 -196.728
+L98.5846 -196.448
+L103.015 -196.169
+L107.446 -195.89
+L111.877 -195.61
+L116.308 -195.331
+L120.738 -195.052
+L125.169 -194.772
+L129.6 -194.493
+L134.031 -194.214
+L138.462 -193.934
+L142.892 -193.655
+L147.323 -193.376
+L151.754 -193.097
+L156.185 -192.817
+L160.615 -192.538
+L165.046 -192.259
+L169.477 -191.979
+L173.908 -191.7
+L178.338 -191.421
+L182.769 -191.141
+L187.2 -190.862
+L191.631 -190.583
+L196.062 -190.303
+L200.492 -190.024
+L204.923 -189.745
+L209.354 -189.466
+L213.785 -189.186
+L218.215 -188.907
+L222.646 -188.628
+L227.077 -188.348
+L231.508 -188.069
+L235.938 -187.79
+L240.369 -187.51
+L244.8 -187.231
+L244.8 -198.124
+L244.8 -209.297
+L244.8 -220.469
+L244.8 -231.641
+L244.8 -242.814
+L244.8 -243.093
+L240.369 -243.372
+L235.938 -243.652
+L231.508 -243.931
+L227.077 -244.21
+L222.646 -244.49
+L218.215 -244.769
+L213.785 -245.048
+L209.354 -245.328
+L204.923 -245.607
+L200.492 -245.886
+L196.062 -246.166
+L191.631 -246.445
+L187.2 -246.724
+L182.769 -247.003
+L178.338 -247.283
+L173.908 -247.562
+L169.477 -247.841
+L165.046 -248.121
+L160.615 -248.4
+L156.185 -248.679
+L151.754 -248.959
+L147.323 -249.238
+L142.892 -249.517
+L138.462 -249.797
+L134.031 -250.076
+L129.6 -250.355
+L125.169 -250.634
+L120.738 -250.914
+L116.308 -251.193
+L111.877 -251.472
+L107.446 -251.752
+L103.015 -252.031
+L98.5846 -252.31
+L94.1538 -252.59
+L89.7231 -252.869
+L85.2923 -253.148
+L80.8615 -253.428
+L76.4308 -253.707
+L72 -253.986
+L72 -253.986
+L72 -253.986
+L72 -242.814
+L72 -231.641
+L72 -220.469
+L72 -209.297
+L72 -198.124
+L72 -198.124
+L76.4308 -197.845" id="C2_0_36f24a5ec3"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#36ffc1;" x="0" xlink:href="#C2_0_36f24a5ec3" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_4">
+ <defs>
+ <path d="
+M76.4308 -253.707
+L80.8615 -253.428
+L85.2923 -253.148
+L89.7231 -252.869
+L94.1538 -252.59
+L98.5846 -252.31
+L103.015 -252.031
+L107.446 -251.752
+L111.877 -251.472
+L116.308 -251.193
+L120.738 -250.914
+L125.169 -250.634
+L129.6 -250.355
+L134.031 -250.076
+L138.462 -249.797
+L142.892 -249.517
+L147.323 -249.238
+L151.754 -248.959
+L156.185 -248.679
+L160.615 -248.4
+L165.046 -248.121
+L169.477 -247.841
+L173.908 -247.562
+L178.338 -247.283
+L182.769 -247.003
+L187.2 -246.724
+L191.631 -246.445
+L196.062 -246.166
+L200.492 -245.886
+L204.923 -245.607
+L209.354 -245.328
+L213.785 -245.048
+L218.215 -244.769
+L222.646 -244.49
+L227.077 -244.21
+L231.508 -243.931
+L235.938 -243.652
+L240.369 -243.372
+L244.8 -243.093
+L244.8 -253.986
+L244.8 -265.159
+L244.8 -276.331
+L244.8 -287.503
+L244.8 -298.676
+L244.8 -298.955
+L240.369 -299.234
+L235.938 -299.514
+L231.508 -299.793
+L227.077 -300.072
+L222.646 -300.352
+L218.215 -300.631
+L213.785 -300.91
+L209.354 -301.19
+L204.923 -301.469
+L200.492 -301.748
+L196.062 -302.028
+L191.631 -302.307
+L187.2 -302.586
+L182.769 -302.866
+L178.338 -303.145
+L173.908 -303.424
+L169.477 -303.703
+L165.046 -303.983
+L160.615 -304.262
+L156.185 -304.541
+L151.754 -304.821
+L147.323 -305.1
+L142.892 -305.379
+L138.462 -305.659
+L134.031 -305.938
+L129.6 -306.217
+L125.169 -306.497
+L120.738 -306.776
+L116.308 -307.055
+L111.877 -307.334
+L107.446 -307.614
+L103.015 -307.893
+L98.5846 -308.172
+L94.1538 -308.452
+L89.7231 -308.731
+L85.2923 -309.01
+L80.8615 -309.29
+L76.4308 -309.569
+L72 -309.848
+L72 -309.848
+L72 -309.848
+L72 -298.676
+L72 -287.503
+L72 -276.331
+L72 -265.159
+L72 -253.986
+L72 -253.986
+L76.4308 -253.707" id="C3_0_2b99c1ab06"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#c1ff36;" x="0" xlink:href="#C3_0_2b99c1ab06" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_5">
+ <defs>
+ <path d="
+M76.4308 -309.569
+L80.8615 -309.29
+L85.2923 -309.01
+L89.7231 -308.731
+L94.1538 -308.452
+L98.5846 -308.172
+L103.015 -307.893
+L107.446 -307.614
+L111.877 -307.334
+L116.308 -307.055
+L120.738 -306.776
+L125.169 -306.497
+L129.6 -306.217
+L134.031 -305.938
+L138.462 -305.659
+L142.892 -305.379
+L147.323 -305.1
+L151.754 -304.821
+L156.185 -304.541
+L160.615 -304.262
+L165.046 -303.983
+L169.477 -303.703
+L173.908 -303.424
+L178.338 -303.145
+L182.769 -302.866
+L187.2 -302.586
+L191.631 -302.307
+L196.062 -302.028
+L200.492 -301.748
+L204.923 -301.469
+L209.354 -301.19
+L213.785 -300.91
+L218.215 -300.631
+L222.646 -300.352
+L227.077 -300.072
+L231.508 -299.793
+L235.938 -299.514
+L240.369 -299.234
+L244.8 -298.955
+L244.8 -309.848
+L244.8 -321.021
+L244.8 -332.193
+L244.8 -343.366
+L244.8 -354.538
+L244.8 -354.817
+L240.369 -355.097
+L235.938 -355.376
+L231.508 -355.655
+L227.077 -355.934
+L222.646 -356.214
+L218.215 -356.493
+L213.785 -356.772
+L209.354 -357.052
+L204.923 -357.331
+L200.492 -357.61
+L196.062 -357.89
+L191.631 -358.169
+L187.2 -358.448
+L182.769 -358.728
+L178.338 -359.007
+L173.908 -359.286
+L169.477 -359.566
+L165.046 -359.845
+L160.615 -360.124
+L156.185 -360.403
+L151.754 -360.683
+L147.323 -360.962
+L142.892 -361.241
+L138.462 -361.521
+L134.031 -361.8
+L129.6 -362.079
+L125.169 -362.359
+L120.738 -362.638
+L116.308 -362.917
+L111.877 -363.197
+L107.446 -363.476
+L103.015 -363.755
+L98.5846 -364.034
+L94.1538 -364.314
+L89.7231 -364.593
+L85.2923 -364.872
+L80.8615 -365.152
+L76.4308 -365.431
+L72 -365.71
+L72 -365.71
+L72 -365.71
+L72 -354.538
+L72 -343.366
+L72 -332.193
+L72 -321.021
+L72 -309.848
+L72 -309.848
+L76.4308 -309.569" id="C4_0_cb20fceff5"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#ff9400;" x="0" xlink:href="#C4_0_cb20fceff5" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_6">
+ <defs>
+ <path d="
+M76.4308 -365.431
+L80.8615 -365.152
+L85.2923 -364.872
+L89.7231 -364.593
+L94.1538 -364.314
+L98.5846 -364.034
+L103.015 -363.755
+L107.446 -363.476
+L111.877 -363.197
+L116.308 -362.917
+L120.738 -362.638
+L125.169 -362.359
+L129.6 -362.079
+L134.031 -361.8
+L138.462 -361.521
+L142.892 -361.241
+L147.323 -360.962
+L151.754 -360.683
+L156.185 -360.403
+L160.615 -360.124
+L165.046 -359.845
+L169.477 -359.566
+L173.908 -359.286
+L178.338 -359.007
+L182.769 -358.728
+L187.2 -358.448
+L191.631 -358.169
+L196.062 -357.89
+L200.492 -357.61
+L204.923 -357.331
+L209.354 -357.052
+L213.785 -356.772
+L218.215 -356.493
+L222.646 -356.214
+L227.077 -355.934
+L231.508 -355.655
+L235.938 -355.376
+L240.369 -355.097
+L244.8 -354.817
+L244.8 -365.71
+L244.8 -376.883
+L244.8 -388.055
+L244.8 -399.228
+L244.8 -410.4
+L240.369 -410.4
+L235.938 -410.4
+L231.508 -410.4
+L227.077 -410.4
+L222.646 -410.4
+L218.215 -410.4
+L213.785 -410.4
+L209.354 -410.4
+L204.923 -410.4
+L200.492 -410.4
+L196.062 -410.4
+L191.631 -410.4
+L187.2 -410.4
+L182.769 -410.4
+L178.338 -410.4
+L173.908 -410.4
+L169.477 -410.4
+L165.046 -410.4
+L160.615 -410.4
+L156.185 -410.4
+L151.754 -410.4
+L147.323 -410.4
+L142.892 -410.4
+L138.462 -410.4
+L134.031 -410.4
+L129.6 -410.4
+L125.169 -410.4
+L120.738 -410.4
+L116.308 -410.4
+L111.877 -410.4
+L107.446 -410.4
+L103.015 -410.4
+L98.5846 -410.4
+L94.1538 -410.4
+L89.7231 -410.4
+L85.2923 -410.4
+L80.8615 -410.4
+L76.4308 -410.4
+L72 -410.4
+L72 -399.228
+L72 -388.055
+L72 -376.883
+L72 -365.71
+L72 -365.71
+L76.4308 -365.431" id="C5_0_bdca106d0f"/>
+ </defs>
+ <g clip-path="url(#pc897b6df83)">
+ <use style="fill:#df0000;" x="0" xlink:href="#C5_0_bdca106d0f" y="432.0"/>
+ </g>
+ </g>
+ <g id="matplotlib.axis_1">
+ <g id="xtick_1">
+ <g id="line2d_1">
+ <defs>
+ <path d="
+M0 0
+L0 -4" id="mcb557df647" style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_2">
+ <defs>
+ <path d="
+M0 0
+L0 4" id="mdad270ee8e" style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_1">
+ <!-- 0 -->
+ <defs>
+ <path d="
+M31.7812 66.4062
+Q24.1719 66.4062 20.3281 58.9062
+Q16.5 51.4219 16.5 36.375
+Q16.5 21.3906 20.3281 13.8906
+Q24.1719 6.39062 31.7812 6.39062
+Q39.4531 6.39062 43.2812 13.8906
+Q47.125 21.3906 47.125 36.375
+Q47.125 51.4219 43.2812 58.9062
+Q39.4531 66.4062 31.7812 66.4062
+M31.7812 74.2188
+Q44.0469 74.2188 50.5156 64.5156
+Q56.9844 54.8281 56.9844 36.375
+Q56.9844 17.9688 50.5156 8.26562
+Q44.0469 -1.42188 31.7812 -1.42188
+Q19.5312 -1.42188 13.0625 8.26562
+Q6.59375 17.9688 6.59375 36.375
+Q6.59375 54.8281 13.0625 64.5156
+Q19.5312 74.2188 31.7812 74.2188" id="BitstreamVeraSans-Roman-30"/>
+ </defs>
+ <g transform="translate(68.9765625 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_2">
+ <g id="line2d_3">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="94.1538461538" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_4">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="94.1538461538" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_2">
+ <!-- 5 -->
+ <defs>
+ <path d="
+M10.7969 72.9062
+L49.5156 72.9062
+L49.5156 64.5938
+L19.8281 64.5938
+L19.8281 46.7344
+Q21.9688 47.4688 24.1094 47.8281
+Q26.2656 48.1875 28.4219 48.1875
+Q40.625 48.1875 47.75 41.5
+Q54.8906 34.8125 54.8906 23.3906
+Q54.8906 11.625 47.5625 5.09375
+Q40.2344 -1.42188 26.9062 -1.42188
+Q22.3125 -1.42188 17.5469 -0.640625
+Q12.7969 0.140625 7.71875 1.70312
+L7.71875 11.625
+Q12.1094 9.23438 16.7969 8.0625
+Q21.4844 6.89062 26.7031 6.89062
+Q35.1562 6.89062 40.0781 11.3281
+Q45.0156 15.7656 45.0156 23.3906
+Q45.0156 31 40.0781 35.4375
+Q35.1562 39.8906 26.7031 39.8906
+Q22.75 39.8906 18.8125 39.0156
+Q14.8906 38.1406 10.7969 36.2812
+z
+" id="BitstreamVeraSans-Roman-35"/>
+ </defs>
+ <g transform="translate(91.3235336538 358.34875)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_3">
+ <g id="line2d_5">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="116.307692308" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_6">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="116.307692308" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_3">
+ <!-- 10 -->
+ <defs>
+ <path d="
+M12.4062 8.29688
+L28.5156 8.29688
+L28.5156 63.9219
+L10.9844 60.4062
+L10.9844 69.3906
+L28.4219 72.9062
+L38.2812 72.9062
+L38.2812 8.29688
+L54.3906 8.29688
+L54.3906 0
+L12.4062 0
+z
+" id="BitstreamVeraSans-Roman-31"/>
+ </defs>
+ <g transform="translate(109.730192308 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_4">
+ <g id="line2d_7">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="138.461538462" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_8">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="138.461538462" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_4">
+ <!-- 15 -->
+ <g transform="translate(132.009663462 358.34875)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_5">
+ <g id="line2d_9">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="160.615384615" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_10">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="160.615384615" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_5">
+ <!-- 20 -->
+ <defs>
+ <path d="
+M19.1875 8.29688
+L53.6094 8.29688
+L53.6094 0
+L7.32812 0
+L7.32812 8.29688
+Q12.9375 14.1094 22.625 23.8906
+Q32.3281 33.6875 34.8125 36.5312
+Q39.5469 41.8438 41.4219 45.5312
+Q43.3125 49.2188 43.3125 52.7812
+Q43.3125 58.5938 39.2344 62.25
+Q35.1562 65.9219 28.6094 65.9219
+Q23.9688 65.9219 18.8125 64.3125
+Q13.6719 62.7031 7.8125 59.4219
+L7.8125 69.3906
+Q13.7656 71.7812 18.9375 73
+Q24.125 74.2188 28.4219 74.2188
+Q39.75 74.2188 46.4844 68.5469
+Q53.2188 62.8906 53.2188 53.4219
+Q53.2188 48.9219 51.5312 44.8906
+Q49.8594 40.875 45.4062 35.4062
+Q44.1875 33.9844 37.6406 27.2188
+Q31.1094 20.4531 19.1875 8.29688" id="BitstreamVeraSans-Roman-32"/>
+ </defs>
+ <g transform="translate(153.818509615 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_6">
+ <g id="line2d_11">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="182.769230769" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_12">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="182.769230769" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_6">
+ <!-- 25 -->
+ <g transform="translate(176.097980769 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_7">
+ <g id="line2d_13">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="204.923076923" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_14">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="204.923076923" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_7">
+ <!-- 30 -->
+ <defs>
+ <path d="
+M40.5781 39.3125
+Q47.6562 37.7969 51.625 33
+Q55.6094 28.2188 55.6094 21.1875
+Q55.6094 10.4062 48.1875 4.48438
+Q40.7656 -1.42188 27.0938 -1.42188
+Q22.5156 -1.42188 17.6562 -0.515625
+Q12.7969 0.390625 7.625 2.20312
+L7.625 11.7188
+Q11.7188 9.32812 16.5938 8.10938
+Q21.4844 6.89062 26.8125 6.89062
+Q36.0781 6.89062 40.9375 10.5469
+Q45.7969 14.2031 45.7969 21.1875
+Q45.7969 27.6406 41.2812 31.2656
+Q36.7656 34.9062 28.7188 34.9062
+L20.2188 34.9062
+L20.2188 43.0156
+L29.1094 43.0156
+Q36.375 43.0156 40.2344 45.9219
+Q44.0938 48.8281 44.0938 54.2969
+Q44.0938 59.9062 40.1094 62.9062
+Q36.1406 65.9219 28.7188 65.9219
+Q24.6562 65.9219 20.0156 65.0312
+Q15.375 64.1562 9.8125 62.3125
+L9.8125 71.0938
+Q15.4375 72.6562 20.3438 73.4375
+Q25.25 74.2188 29.5938 74.2188
+Q40.8281 74.2188 47.3594 69.1094
+Q53.9062 64.0156 53.9062 55.3281
+Q53.9062 49.2656 50.4375 45.0938
+Q46.9688 40.9219 40.5781 39.3125" id="BitstreamVeraSans-Roman-33"/>
+ </defs>
+ <g transform="translate(198.144014423 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-33"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_8">
+ <g id="line2d_15">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="227.076923077" xlink:href="#mcb557df647" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_16">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="227.076923077" xlink:href="#mdad270ee8e" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_8">
+ <!-- 35 -->
+ <g transform="translate(220.423485577 358.50625)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-33"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g id="matplotlib.axis_2">
+ <g id="ytick_1">
+ <g id="line2d_17">
+ <defs>
+ <path d="
+M0 0
+L4 0" id="mc8fcea1516" style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="345.6"/>
+ </g>
+ </g>
+ <g id="line2d_18">
+ <defs>
+ <path d="
+M0 0
+L-4 0" id="m0d5b0a6425" style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="345.6"/>
+ </g>
+ </g>
+ <g id="text_9">
+ <!-- 0 -->
+ <g transform="translate(61.953125 349.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_2">
+ <g id="line2d_19">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="289.737931034"/>
+ </g>
+ </g>
+ <g id="line2d_20">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="289.737931034"/>
+ </g>
+ </g>
+ <g id="text_10">
+ <!-- 5 -->
+ <g transform="translate(62.339375 294.026993534)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_3">
+ <g id="line2d_21">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="233.875862069"/>
+ </g>
+ </g>
+ <g id="line2d_22">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="233.875862069"/>
+ </g>
+ </g>
+ <g id="text_11">
+ <!-- 10 -->
+ <g transform="translate(54.845 238.243674569)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_4">
+ <g id="line2d_23">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="178.013793103"/>
+ </g>
+ </g>
+ <g id="line2d_24">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="178.013793103"/>
+ </g>
+ </g>
+ <g id="text_12">
+ <!-- 15 -->
+ <g transform="translate(55.09625 182.302855603)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_5">
+ <g id="line2d_25">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="122.151724138"/>
+ </g>
+ </g>
+ <g id="line2d_26">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="122.151724138"/>
+ </g>
+ </g>
+ <g id="text_13">
+ <!-- 20 -->
+ <g transform="translate(54.40625 126.519536638)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_6">
+ <g id="line2d_27">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="72.0" xlink:href="#mc8fcea1516" y="66.2896551724"/>
+ </g>
+ </g>
+ <g id="line2d_28">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="244.8" xlink:href="#m0d5b0a6425" y="66.2896551724"/>
+ </g>
+ </g>
+ <g id="text_14">
+ <!-- 25 -->
+ <g transform="translate(54.6575 70.6574676724)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-35"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g id="patch_3">
+ <path d="
+M72 21.6
+L244.8 21.6" style="fill:none;stroke:#000000;"/>
+ </g>
+ <g id="patch_4">
+ <path d="
+M244.8 345.6
+L244.8 21.6" style="fill:none;stroke:#000000;"/>
+ </g>
+ <g id="patch_5">
+ <path d="
+M72 345.6
+L244.8 345.6" style="fill:none;stroke:#000000;"/>
+ </g>
+ <g id="patch_6">
+ <path d="
+M72 345.6
+L72 21.6" style="fill:none;stroke:#000000;"/>
+ </g>
+ </g>
+ <g id="axes_2">
+ <g id="patch_7">
+ <path clip-path="url(#pc016093d6f)" d="
+M255.6 345.6
+L255.6 291.6
+L255.6 75.6
+L255.6 21.6
+L271.8 21.6
+L271.8 75.6
+L271.8 291.6
+L271.8 345.6
+L255.6 345.6
+z
+" style="fill:#ffffff;stroke:#ffffff;stroke-width:0.01;"/>
+ </g>
+ <g id="QuadMesh_1">
+ <defs>
+ <path d="
+M255.6 -86.4
+L271.8 -86.4
+L271.8 -140.4
+L255.6 -140.4
+L255.6 -86.4" id="C6_0_2dc5c414e6"/>
+ <path d="
+M255.6 -140.4
+L271.8 -140.4
+L271.8 -194.4
+L255.6 -194.4
+L255.6 -140.4" id="C6_1_d1f87c336a"/>
+ <path d="
+M255.6 -194.4
+L271.8 -194.4
+L271.8 -248.4
+L255.6 -248.4
+L255.6 -194.4" id="C6_2_35b2397346"/>
+ <path d="
+M255.6 -248.4
+L271.8 -248.4
+L271.8 -302.4
+L255.6 -302.4
+L255.6 -248.4" id="C6_3_8c9c583b1f"/>
+ <path d="
+M255.6 -302.4
+L271.8 -302.4
+L271.8 -356.4
+L255.6 -356.4
+L255.6 -302.4" id="C6_4_53015db21b"/>
+ <path d="
+M255.6 -356.4
+L271.8 -356.4
+L271.8 -410.4
+L255.6 -410.4
+L255.6 -356.4" id="C6_5_ae3d84d45b"/>
+ </defs>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#0000df;" x="0" xlink:href="#C6_0_2dc5c414e6" y="432.0"/>
+ </g>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#0081ff;" x="0" xlink:href="#C6_1_d1f87c336a" y="432.0"/>
+ </g>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#36ffc1;" x="0" xlink:href="#C6_2_35b2397346" y="432.0"/>
+ </g>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#c1ff36;" x="0" xlink:href="#C6_3_8c9c583b1f" y="432.0"/>
+ </g>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#ff9400;" x="0" xlink:href="#C6_4_53015db21b" y="432.0"/>
+ </g>
+ <g clip-path="url(#pc016093d6f)">
+ <use style="fill:#df0000;" x="0" xlink:href="#C6_5_ae3d84d45b" y="432.0"/>
+ </g>
+ </g>
+ <g id="line2d_29">
+ <path d="
+M255.6 345.6
+L255.6 291.6
+L255.6 75.6
+L255.6 21.6
+L271.8 21.6
+L271.8 75.6
+L271.8 291.6
+L271.8 345.6
+L255.6 345.6" style="fill:none;stroke:#000000;"/>
+ </g>
+ <g id="matplotlib.axis_3"/>
+ <g id="matplotlib.axis_4">
+ <g id="ytick_7">
+ <g id="line2d_30">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="345.6"/>
+ </g>
+ </g>
+ <g id="text_15">
+ <!-- 0 -->
+ <g transform="translate(275.8 349.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_8">
+ <g id="line2d_31">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="291.6"/>
+ </g>
+ </g>
+ <g id="text_16">
+ <!-- 200 -->
+ <g transform="translate(275.8 295.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_9">
+ <g id="line2d_32">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="237.6"/>
+ </g>
+ </g>
+ <g id="text_17">
+ <!-- 400 -->
+ <defs>
+ <path d="
+M37.7969 64.3125
+L12.8906 25.3906
+L37.7969 25.3906
+z
+
+M35.2031 72.9062
+L47.6094 72.9062
+L47.6094 25.3906
+L58.0156 25.3906
+L58.0156 17.1875
+L47.6094 17.1875
+L47.6094 0
+L37.7969 0
+L37.7969 17.1875
+L4.89062 17.1875
+L4.89062 26.7031
+z
+" id="BitstreamVeraSans-Roman-34"/>
+ </defs>
+ <g transform="translate(275.8 241.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-34"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_10">
+ <g id="line2d_33">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="183.6"/>
+ </g>
+ </g>
+ <g id="text_18">
+ <!-- 600 -->
+ <defs>
+ <path d="
+M33.0156 40.375
+Q26.375 40.375 22.4844 35.8281
+Q18.6094 31.2969 18.6094 23.3906
+Q18.6094 15.5312 22.4844 10.9531
+Q26.375 6.39062 33.0156 6.39062
+Q39.6562 6.39062 43.5312 10.9531
+Q47.4062 15.5312 47.4062 23.3906
+Q47.4062 31.2969 43.5312 35.8281
+Q39.6562 40.375 33.0156 40.375
+M52.5938 71.2969
+L52.5938 62.3125
+Q48.875 64.0625 45.0938 64.9844
+Q41.3125 65.9219 37.5938 65.9219
+Q27.8281 65.9219 22.6719 59.3281
+Q17.5312 52.7344 16.7969 39.4062
+Q19.6719 43.6562 24.0156 45.9219
+Q28.375 48.1875 33.5938 48.1875
+Q44.5781 48.1875 50.9531 41.5156
+Q57.3281 34.8594 57.3281 23.3906
+Q57.3281 12.1562 50.6875 5.35938
+Q44.0469 -1.42188 33.0156 -1.42188
+Q20.3594 -1.42188 13.6719 8.26562
+Q6.98438 17.9688 6.98438 36.375
+Q6.98438 53.6562 15.1875 63.9375
+Q23.3906 74.2188 37.2031 74.2188
+Q40.9219 74.2188 44.7031 73.4844
+Q48.4844 72.75 52.5938 71.2969" id="BitstreamVeraSans-Roman-36"/>
+ </defs>
+ <g transform="translate(275.8 187.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-36"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_11">
+ <g id="line2d_34">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="129.6"/>
+ </g>
+ </g>
+ <g id="text_19">
+ <!-- 800 -->
+ <defs>
+ <path d="
+M31.7812 34.625
+Q24.75 34.625 20.7188 30.8594
+Q16.7031 27.0938 16.7031 20.5156
+Q16.7031 13.9219 20.7188 10.1562
+Q24.75 6.39062 31.7812 6.39062
+Q38.8125 6.39062 42.8594 10.1719
+Q46.9219 13.9688 46.9219 20.5156
+Q46.9219 27.0938 42.8906 30.8594
+Q38.875 34.625 31.7812 34.625
+M21.9219 38.8125
+Q15.5781 40.375 12.0312 44.7188
+Q8.5 49.0781 8.5 55.3281
+Q8.5 64.0625 14.7188 69.1406
+Q20.9531 74.2188 31.7812 74.2188
+Q42.6719 74.2188 48.875 69.1406
+Q55.0781 64.0625 55.0781 55.3281
+Q55.0781 49.0781 51.5312 44.7188
+Q48 40.375 41.7031 38.8125
+Q48.8281 37.1562 52.7969 32.3125
+Q56.7812 27.4844 56.7812 20.5156
+Q56.7812 9.90625 50.3125 4.23438
+Q43.8438 -1.42188 31.7812 -1.42188
+Q19.7344 -1.42188 13.25 4.23438
+Q6.78125 9.90625 6.78125 20.5156
+Q6.78125 27.4844 10.7812 32.3125
+Q14.7969 37.1562 21.9219 38.8125
+M18.3125 54.3906
+Q18.3125 48.7344 21.8438 45.5625
+Q25.3906 42.3906 31.7812 42.3906
+Q38.1406 42.3906 41.7188 45.5625
+Q45.3125 48.7344 45.3125 54.3906
+Q45.3125 60.0625 41.7188 63.2344
+Q38.1406 66.4062 31.7812 66.4062
+Q25.3906 66.4062 21.8438 63.2344
+Q18.3125 60.0625 18.3125 54.3906" id="BitstreamVeraSans-Roman-38"/>
+ </defs>
+ <g transform="translate(275.8 133.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-38"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_12">
+ <g id="line2d_35">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="75.6"/>
+ </g>
+ </g>
+ <g id="text_20">
+ <!-- 1000 -->
+ <g transform="translate(275.8 79.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="190.869140625" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_13">
+ <g id="line2d_36">
+ <g>
+ <use style="stroke:#000000;stroke-linecap:butt;stroke-width:0.5;" x="271.8" xlink:href="#m0d5b0a6425" y="21.6"/>
+ </g>
+ </g>
+ <g id="text_21">
+ <!-- 1200 -->
+ <g transform="translate(275.8 25.9678125)scale(0.12 -0.12)">
+ <use xlink:href="#BitstreamVeraSans-Roman-31"/>
+ <use x="63.623046875" xlink:href="#BitstreamVeraSans-Roman-32"/>
+ <use x="127.24609375" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ <use x="190.869140625" xlink:href="#BitstreamVeraSans-Roman-30"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g id="axes_3">
+ <g id="patch_8">
+ <path d="
+M331.2 248.4
+L547.2 248.4
+L547.2 21.6
+L331.2 21.6
+z
+" style="fill:#ffffff;"/>
+ </g>
+ <g id="PathCollection_7">
+ <defs>
+ <path d="
+M331.2 -183.6
+L336.738 -183.6
+L342.277 -183.6
+L347.815 -183.6
+L353.354 -183.6
+L358.892 -183.6
+L364.431 -183.6
+L369.969 -183.6
+L375.508 -183.6
+L381.046 -183.6
+L386.585 -183.6
+L392.123 -183.6
+L397.662 -183.6
+L403.2 -183.6
+L408.738 -183.6
+L414.277 -183.6
+L419.815 -183.6
+L425.354 -183.6
+L430.892 -183.6
+L436.431 -183.6
+L441.969 -183.6
+L447.508 -183.6
+L453.046 -183.6
+L458.585 -183.6
+L464.123 -183.6
+L469.662 -183.6
+L475.2 -183.6
+L480.738 -183.6
+L486.277 -183.6
+L491.815 -183.6
+L497.354 -183.6
+L502.892 -183.6
+L508.431 -183.6
+L513.969 -183.6
+L519.508 -183.6
+L525.046 -183.6
+L530.585 -183.6
+L536.123 -183.6
+L541.662 -183.6
+L547.2 -183.6
+L547.2 -191.421
+L547.2 -199.241
+L547.2 -207.062
+L547.2 -214.883
+L547.2 -215.078
+L541.662 -215.274
+L536.123 -215.469
+L530.585 -215.665
+L525.046 -215.86
+L519.508 -216.056
+L513.969 -216.251
+L508.431 -216.447
+L502.892 -216.642
+L497.354 -216.838
+L491.815 -217.033
+L486.277 -217.229
+L480.738 -217.424
+L475.2 -217.62
+L469.662 -217.816
+L464.123 -218.011
+L458.585 -218.207
+L453.046 -218.402
+L447.508 -218.598
+L441.969 -218.793
+L436.431 -218.989
+L430.892 -219.184
+L425.354 -219.38
+L419.815 -219.575
+L414.277 -219.771
+L408.738 -219.966
+L403.2 -220.162
+L397.662 -220.357
+L392.123 -220.553
+L386.585 -220.748
+L381.046 -220.944
+L375.508 -221.139
+L369.969 -221.335
+L364.431 -221.53
+L358.892 -221.726
+L353.354 -221.921
+L347.815 -222.117
+L342.277 -222.312
+L336.738 -222.508
+L331.2 -222.703
+L331.2 -222.703
+L331.2 -222.703
+L331.2 -214.883
+L331.2 -207.062
+L331.2 -199.241
+L331.2 -191.421
+L331.2 -183.6" id="C7_0_349d2eee34"/>
+ </defs>
+ <g clip-path="url(#p0f056ea89d)">
+ <use style="fill:#0000df;" x="0" xlink:href="#C7_0_349d2eee34" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_8">
+ <defs>
+ <path d="
+M336.738 -222.508
+L342.277 -222.312
+L347.815 -222.117
+L353.354 -221.921
+L358.892 -221.726
+L364.431 -221.53
+L369.969 -221.335
+L375.508 -221.139
+L381.046 -220.944
+L386.585 -220.748
+L392.123 -220.553
+L397.662 -220.357
+L403.2 -220.162
+L408.738 -219.966
+L414.277 -219.771
+L419.815 -219.575
+L425.354 -219.38
+L430.892 -219.184
+L436.431 -218.989
+L441.969 -218.793
+L447.508 -218.598
+L453.046 -218.402
+L458.585 -218.207
+L464.123 -218.011
+L469.662 -217.816
+L475.2 -217.62
+L480.738 -217.424
+L486.277 -217.229
+L491.815 -217.033
+L497.354 -216.838
+L502.892 -216.642
+L508.431 -216.447
+L513.969 -216.251
+L519.508 -216.056
+L525.046 -215.86
+L530.585 -215.665
+L536.123 -215.469
+L541.662 -215.274
+L547.2 -215.078
+L547.2 -222.703
+L547.2 -230.524
+L547.2 -238.345
+L547.2 -246.166
+L547.2 -253.986
+L547.2 -254.182
+L541.662 -254.377
+L536.123 -254.573
+L530.585 -254.768
+L525.046 -254.964
+L519.508 -255.159
+L513.969 -255.355
+L508.431 -255.55
+L502.892 -255.746
+L497.354 -255.941
+L491.815 -256.137
+L486.277 -256.332
+L480.738 -256.528
+L475.2 -256.723
+L469.662 -256.919
+L464.123 -257.114
+L458.585 -257.31
+L453.046 -257.506
+L447.508 -257.701
+L441.969 -257.897
+L436.431 -258.092
+L430.892 -258.288
+L425.354 -258.483
+L419.815 -258.679
+L414.277 -258.874
+L408.738 -259.07
+L403.2 -259.265
+L397.662 -259.461
+L392.123 -259.656
+L386.585 -259.852
+L381.046 -260.047
+L375.508 -260.243
+L369.969 -260.438
+L364.431 -260.634
+L358.892 -260.829
+L353.354 -261.025
+L347.815 -261.22
+L342.277 -261.416
+L336.738 -261.611
+L331.2 -261.807
+L331.2 -261.807
+L331.2 -261.807
+L331.2 -253.986
+L331.2 -246.166
+L331.2 -238.345
+L331.2 -230.524
+L331.2 -222.703
+L331.2 -222.703
+L336.738 -222.508" id="C8_0_04c8a8cd53"/>
+ </defs>
+ <g clip-path="url(#p0f056ea89d)">
+ <use style="fill:#0081ff;" x="0" xlink:href="#C8_0_04c8a8cd53" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_9">
+ <defs>
+ <path d="
+M336.738 -261.611
+L342.277 -261.416
+L347.815 -261.22
+L353.354 -261.025
+L358.892 -260.829
+L364.431 -260.634
+L369.969 -260.438
+L375.508 -260.243
+L381.046 -260.047
+L386.585 -259.852
+L392.123 -259.656
+L397.662 -259.461
+L403.2 -259.265
+L408.738 -259.07
+L414.277 -258.874
+L419.815 -258.679
+L425.354 -258.483
+L430.892 -258.288
+L436.431 -258.092
+L441.969 -257.897
+L447.508 -257.701
+L453.046 -257.506
+L458.585 -257.31
+L464.123 -257.114
+L469.662 -256.919
+L475.2 -256.723
+L480.738 -256.528
+L486.277 -256.332
+L491.815 -256.137
+L497.354 -255.941
+L502.892 -255.746
+L508.431 -255.55
+L513.969 -255.355
+L519.508 -255.159
+L525.046 -254.964
+L530.585 -254.768
+L536.123 -254.573
+L541.662 -254.377
+L547.2 -254.182
+L547.2 -261.807
+L547.2 -269.628
+L547.2 -277.448
+L547.2 -285.269
+L547.2 -293.09
+L547.2 -293.285
+L541.662 -293.481
+L536.123 -293.676
+L530.585 -293.872
+L525.046 -294.067
+L519.508 -294.263
+L513.969 -294.458
+L508.431 -294.654
+L502.892 -294.849
+L497.354 -295.045
+L491.815 -295.24
+L486.277 -295.436
+L480.738 -295.631
+L475.2 -295.827
+L469.662 -296.022
+L464.123 -296.218
+L458.585 -296.413
+L453.046 -296.609
+L447.508 -296.804
+L441.969 -297
+L436.431 -297.196
+L430.892 -297.391
+L425.354 -297.587
+L419.815 -297.782
+L414.277 -297.978
+L408.738 -298.173
+L403.2 -298.369
+L397.662 -298.564
+L392.123 -298.76
+L386.585 -298.955
+L381.046 -299.151
+L375.508 -299.346
+L369.969 -299.542
+L364.431 -299.737
+L358.892 -299.933
+L353.354 -300.128
+L347.815 -300.324
+L342.277 -300.519
+L336.738 -300.715
+L331.2 -300.91
+L331.2 -300.91
+L331.2 -300.91
+L331.2 -293.09
+L331.2 -285.269
+L331.2 -277.448
+L331.2 -269.628
+L331.2 -261.807
+L331.2 -261.807
+L336.738 -261.611" id="C9_0_145684eaa1"/>
+ </defs>
+ <g clip-path="url(#p0f056ea89d)">
+ <use style="fill:#36ffc1;" x="0" xlink:href="#C9_0_145684eaa1" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_10">
+ <defs>
+ <path d="
+M336.738 -300.715
+L342.277 -300.519
+L347.815 -300.324
+L353.354 -300.128
+L358.892 -299.933
+L364.431 -299.737
+L369.969 -299.542
+L375.508 -299.346
+L381.046 -299.151
+L386.585 -298.955
+L392.123 -298.76
+L397.662 -298.564
+L403.2 -298.369
+L408.738 -298.173
+L414.277 -297.978
+L419.815 -297.782
+L425.354 -297.587
+L430.892 -297.391
+L436.431 -297.196
+L441.969 -297
+L447.508 -296.804
+L453.046 -296.609
+L458.585 -296.413
+L464.123 -296.218
+L469.662 -296.022
+L475.2 -295.827
+L480.738 -295.631
+L486.277 -295.436
+L491.815 -295.24
+L497.354 -295.045
+L502.892 -294.849
+L508.431 -294.654
+L513.969 -294.458
+L519.508 -294.263
+L525.046 -294.067
+L530.585 -293.872
+L536.123 -293.676
+L541.662 -293.481
+L547.2 -293.285
+L547.2 -300.91
+L547.2 -308.731
+L547.2 -316.552
+L547.2 -324.372
+L547.2 -332.193
+L547.2 -332.389
+L541.662 -332.584
+L536.123 -332.78
+L530.585 -332.975
+L525.046 -333.171
+L519.508 -333.366
+L513.969 -333.562
+L508.431 -333.757
+L502.892 -333.953
+L497.354 -334.148
+L491.815 -334.344
+L486.277 -334.539
+L480.738 -334.735
+L475.2 -334.93
+L469.662 -335.126
+L464.123 -335.321
+L458.585 -335.517
+L453.046 -335.712
+L447.508 -335.908
+L441.969 -336.103
+L436.431 -336.299
+L430.892 -336.494
+L425.354 -336.69
+L419.815 -336.886
+L414.277 -337.081
+L408.738 -337.277
+L403.2 -337.472
+L397.662 -337.668
+L392.123 -337.863
+L386.585 -338.059
+L381.046 -338.254
+L375.508 -338.45
+L369.969 -338.645
+L364.431 -338.841
+L358.892 -339.036
+L353.354 -339.232
+L347.815 -339.427
+L342.277 -339.623
+L336.738 -339.818
+L331.2 -340.014
+L331.2 -340.014
+L331.2 -340.014
+L331.2 -332.193
+L331.2 -324.372
+L331.2 -316.552
+L331.2 -308.731
+L331.2 -300.91
+L331.2 -300.91
+L336.738 -300.715" id="Ca_0_fea690a98c"/>
+ </defs>
+ <g clip-path="url(#p0f056ea89d)">
+ <use style="fill:#c1ff36;" x="0" xlink:href="#Ca_0_fea690a98c" y="432.0"/>
+ </g>
+ </g>
+ <g id="PathCollection_11">
+ <defs>
+ <path d="
+M336.738 -339.818
+L342.277 -339.623
+L347.815 -339.427
+L353.354 -339.232
+L358.892 -339.036
+L364.431 -338.841
+L369.969 -338.645
+L375.508 -338.45
+L381.046 -338.254
+L386.585 -338.059
+L392.123 -337.863
+L397.662 -337.668
+L403.2 -337.472
+L408.738 -337.277
+L414.277 -337.081
+L419.815 -336.886
+L425.354 -336.69
+L430.892 -336.494
+L436.431 -336.299
+L441.969 -336.103
+L447.508 -335.908
+L453.046 -335.712
+L458.585 -335.517
+L464.123 -335.321
+L469.662 -335.126
+L475.2 -334.93
+L480.738 -334.735
+L486.277 -334.539
+L491.815 -334.344
+L497.354 -334.148
+L502.892 -333.953
+L508.431 -333.757
+L513.969 -333.562
+L519.508 -333.366
+L525.046 -333.171
+L530.585 -332.975
+L536.123 -332.78
+L541.662 -332.584
+L547.2 -332.389
+L547.2 -340.014
+L547.2 -347.834
+L547.2 -355.655
+L547.2 -363.476
+L547.2 -371.297
+L547.2 -371.492
+L541.662 -371.688