66from matplotlib .externals .six import unichr
77
88import os , base64 , tempfile , gzip , io , sys , codecs , re
9+ from collections import OrderedDict
910
1011import numpy as np
1112
@@ -271,15 +272,15 @@ def __init__(self, width, height, svgwriter, basename=None, image_dpi=72):
271272 assert basename is not None
272273 self .basename = basename
273274 self ._imaged = {}
274- self ._clipd = {}
275+ self ._clipd = OrderedDict ()
275276 self ._char_defs = {}
276277 self ._markers = {}
277278 self ._path_collection_id = 0
278279 self ._imaged = {}
279- self ._hatchd = {}
280+ self ._hatchd = OrderedDict ()
280281 self ._has_gouraud = False
281282 self ._n_gradients = 0
282- self ._fonts = {}
283+ self ._fonts = OrderedDict ()
283284 self .mathtext_parser = MathTextParser ('SVG' )
284285
285286 RendererBase .__init__ (self )
@@ -306,10 +307,7 @@ def _write_default_style(self):
306307 writer = self .writer
307308 default_style = generate_css ({
308309 'stroke-linejoin' : 'round' ,
309- 'stroke-linecap' : 'butt' ,
310- # Disable the miter limit. 100000 seems to be close to
311- # the maximum that renderers support before breaking.
312- 'stroke-miterlimit' : '100000' })
310+ 'stroke-linecap' : 'butt' })
313311 writer .start ('defs' )
314312 writer .start ('style' , type = 'text/css' )
315313 writer .data ('*{%s}\n ' % default_style )
@@ -1104,7 +1102,7 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None):
11041102
11051103 # Sort the characters by font, and output one tspan for
11061104 # each
1107- spans = {}
1105+ spans = OrderedDict ()
11081106 for font , fontsize , thetext , new_x , new_y , metrics in svg_glyphs :
11091107 style = generate_css ({
11101108 'font-size' : short_float_fmt (fontsize ) + 'px' ,
@@ -1120,7 +1118,7 @@ def _draw_text_as_text(self, gc, x, y, s, prop, angle, ismath, mtext=None):
11201118 fontset = self ._fonts .setdefault (font .fname , set ())
11211119 fontset .add (thetext )
11221120
1123- for style , chars in list ( six .iteritems (spans ) ):
1121+ for style , chars in six .iteritems (spans ):
11241122 chars .sort ()
11251123
11261124 same_y = True
0 commit comments