Skip to content

Commit 941ae96

Browse files
Added negative_linestyles to contour
1 parent 0371cf9 commit 941ae96

File tree

1 file changed

+21
-3
lines changed

1 file changed

+21
-3
lines changed

lib/matplotlib/contour.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ def __init__(self, ax, *args,
701701
hatches=(None,), alpha=None, origin=None, extent=None,
702702
cmap=None, colors=None, norm=None, vmin=None, vmax=None,
703703
extend='neither', antialiased=None, nchunk=0, locator=None,
704-
transform=None,
704+
transform=None, negative_linestyles=None,
705705
**kwargs):
706706
"""
707707
Draw contour lines or filled regions, depending on
@@ -786,6 +786,13 @@ def __init__(self, ax, *args,
786786

787787
self._transform = transform
788788

789+
self.negative_linestyles = negative_linestyles
790+
# If negative_linestyles was not defined as a kwarg,
791+
# define negative_linestyles with rcParams
792+
if self.negative_linestyles is None:
793+
self.negative_linestyles = \
794+
mpl.rcParams['contour.negative_linestyle']
795+
789796
kwargs = self._process_args(*args, **kwargs)
790797
self._process_levels()
791798

@@ -1276,11 +1283,10 @@ def _process_linestyles(self):
12761283
if linestyles is None:
12771284
tlinestyles = ['solid'] * Nlev
12781285
if self.monochrome:
1279-
neg_ls = mpl.rcParams['contour.negative_linestyle']
12801286
eps = - (self.zmax - self.zmin) * 1e-15
12811287
for i, lev in enumerate(self.levels):
12821288
if lev < eps:
1283-
tlinestyles[i] = neg_ls
1289+
tlinestyles[i] = self.negative_linestyles
12841290
else:
12851291
if isinstance(linestyles, str):
12861292
tlinestyles = [linestyles] * Nlev
@@ -1751,6 +1757,18 @@ def _initialize_x_y(self, z):
17511757
iterable is shorter than the number of contour levels
17521758
it will be repeated as necessary.
17531759
1760+
negative_linestyles : None or str, optional
1761+
{'solid', 'dashed', 'dashdot', 'dotted'}
1762+
*Only applies to* `.contour`.
1763+
1764+
If *negative_linestyles* is None, the default is 'dashed' for
1765+
negative contours.
1766+
1767+
*negative_linestyles* can also be an iterable of the above
1768+
strings specifying a set of linestyles to be used. If this
1769+
iterable is shorter than the number of contour levels
1770+
it will be repeated as necessary.
1771+
17541772
hatches : list[str], optional
17551773
*Only applies to* `.contourf`.
17561774

0 commit comments

Comments
 (0)