Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 51087e9

Browse files
committed
added Manuel's contour linestyle patch
svn path=/trunk/matplotlib/; revision=4095
1 parent fef6842 commit 51087e9

2 files changed

Lines changed: 20 additions & 5 deletions

File tree

lib/matplotlib/contour.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,8 @@ def __init__(self, ax, *args, **kwargs):
390390
self.levels = kwargs.get('levels', None)
391391
self.filled = kwargs.get('filled', False)
392392
self.linewidths = kwargs.get('linewidths', None)
393-
393+
self.linestyles = kwargs.get('linestyles', 'solid')
394+
394395
self.alpha = kwargs.get('alpha', 1.0)
395396
self.origin = kwargs.get('origin', None)
396397
self.extent = kwargs.get('extent', None)
@@ -457,11 +458,13 @@ def __init__(self, ax, *args, **kwargs):
457458
else:
458459
tlinewidths = self._process_linewidths()
459460
self.tlinewidths = tlinewidths
461+
tlinestyles = self._process_linestyles()
460462
C = _cntr.Cntr(x, y, z.filled(), _mask)
461-
for level, width in zip(self.levels, tlinewidths):
463+
for level, width, lstyle in zip(self.levels, tlinewidths, tlinestyles):
462464
nlist = C.trace(level, points = 0)
463465
col = collections.LineCollection(nlist,
464-
linewidths = width)
466+
linewidths = width,
467+
linestyle = lstyle)
465468

466469
if level < 0.0 and self.monochrome:
467470
ls = mpl.rcParams['contour.negative_linestyle']
@@ -696,6 +699,18 @@ def _process_linewidths(self):
696699
linewidths = [linewidths] * Nlev
697700
tlinewidths = [(w,) for w in linewidths]
698701
return tlinewidths
702+
703+
def _process_linestyles(self):
704+
linestyles = self.linestyles
705+
Nlev = len(self.levels)
706+
if linestyles is None:
707+
tlinestyles = ['solid'] * Nlev
708+
else:
709+
if cbook.is_string_like(linestyles):
710+
tlinestyles = [linestyles] * Nlev
711+
elif cbook.iterable(linestyles) and len(linestyles) < Nlev:
712+
tlinestyles = list(linestyles) * int(npy.ceil(Nlev/len(linestyles)))
713+
return tlinestyles
699714

700715
def get_alpha(self):
701716
'''For compatibility with artists, return self.alpha'''

lib/matplotlib/mlab.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ def prctile(x, p = (0.0, 25.0, 50.0, 75.0, 100.0)):
811811
"""
812812

813813

814-
x = npy.ravel(x)
814+
x = npy.array(x).ravel() # we need a copy
815815
x.sort()
816816
Nx = len(x)
817817

@@ -1449,7 +1449,7 @@ def rec2csv(r, fname, delimiter=','):
14491449
files is automatic, if the filename ends in .gz
14501450
"""
14511451
fh = cbook.to_filehandle(fname, 'w')
1452-
writer = csv.writer(fh, delimiter=delimiter)
1452+
writer = csv.writer(fh, delimiter=delimiter, quoting=csv.QUOTE_NONNUMERIC)
14531453
header = r.dtype.names
14541454
writer.writerow(header)
14551455
for row in r:

0 commit comments

Comments
 (0)