@@ -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+
17541772hatches : list[str], optional
17551773 *Only applies to* `.contourf`.
17561774
0 commit comments