8000 Use contourpy for quad contour calculations · matplotlib/matplotlib@ae08ddf · GitHub
[go: up one dir, main page]

Skip to content

Commit ae08ddf

Browse files
committed
Use contourpy for quad contour calculations
1 parent 3a994d2 commit ae08ddf

26 files changed

+4915
-7261
lines changed

environment.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ channels:
99
- conda-forge
1010
dependencies:
1111
- cairocffi
12+
- contourpy>=1
1213
- cycler>=0.10.0
1314
- fonttools>=4.22.0
1415
- kiwisolver>=1.0.1

lib/matplotlib/contour.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1429,20 +1429,19 @@ def _process_args(self, *args, corner_mask=None, **kwargs):
14291429
self._mins = args[0]._mins
14301430
self._maxs = args[0]._maxs
14311431
else:
1432-
import matplotlib._contour as _contour
1432+
import contourpy
14331433

14341434
if corner_mask is None:
14351435
corner_mask = mpl.rcParams['contour.corner_mask']
14361436
self._corner_mask = corner_mask
14371437

14381438
x, y, z = self._contour_args(args, kwargs)
14391439

1440-
_mask = ma.getmask(z)
1441-
if _mask is ma.nomask or not _mask.any():
1442-
_mask = None
1443-
1444-
contour_generator = _contour.QuadContourGenerator(
1445-
x, y, z.filled(), _mask, self._corner_mask, self.nchunk)
1440+
contour_generator = contourpy.contour_generator(
1441+
x, y, z, name="serial", corner_mask=self._corner_mask,
1442+
line_type=contourpy.LineType.SeparateCode,
1443+
fill_type=contourpy.FillType.OuterCode,
1444+
chunk_size=self.nchunk)
14461445

14471446
t = self.get_transform()
14481447

0 commit comments

Comments
 (0)
0