From a31f10007163b37ac9d64b793eb21c7dccc9a206 Mon Sep 17 00:00:00 2001 From: Michael Waskom Date: Mon, 17 Aug 2020 20:24:49 -0400 Subject: [PATCH] Handle mpl33 deprecations (#2199) Co-authored-by: Maoz Gelbart <13831112+MaozGelbart@users.noreply.github.com> --- seaborn/_core.py | 6 +++++- seaborn/matrix.py | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/seaborn/_core.py b/seaborn/_core.py index a224ff3b19..feefbdf413 100644 --- a/seaborn/_core.py +++ b/seaborn/_core.py @@ -5,6 +5,7 @@ from collections.abc import Iterable, Sequence, Mapping from numbers import Number from datetime import datetime +from distutils.version import LooseVersion import numpy as np import pandas as pd @@ -1106,7 +1107,10 @@ def _attach(self, obj, allowed_types=None, log_scale=None): if scale is True: set_scale("log") else: - set_scale("log", **{f"base{axis}": scale}) + if LooseVersion(mpl.__version__) >= "3.3": + set_scale("log", base=scale) + else: + set_scale("log", **{f"base{axis}": scale}) def _log_scaled(self, axis): """Return True if specified axis is log scaled on all attached axes.""" diff --git a/seaborn/matrix.py b/seaborn/matrix.py index a888eb5089..23ef300ebb 100644 --- a/seaborn/matrix.py +++ b/seaborn/matrix.py @@ -298,9 +298,14 @@ def plot(self, ax, cax, kws): # Remove all the Axes spines despine(ax=ax, left=True, bottom=True) + # setting vmin/vmax in addition to norm is deprecated + # so avoid setting if norm is set + if "norm" not in kws: + kws.setdefault("vmin", self.vmin) + kws.setdefault("vmax", self.vmax) + # Draw the heatmap - mesh = ax.pcolormesh(self.plot_data, vmin=self.vmin, vmax=self.vmax, - cmap=self.cmap, **kws) + mesh = ax.pcolormesh(self.plot_data, cmap=self.cmap, **kws) # Set the axis limits ax.set(xlim=(0, self.data.shape[1]), ylim=(0, self.data.shape[0]))