diff --git a/doc/WhatsNew.rst b/doc/WhatsNew.rst index fb41c59b2..7ed0d9ea2 100644 --- a/doc/WhatsNew.rst +++ b/doc/WhatsNew.rst @@ -21,6 +21,7 @@ Ver 5.0.0 (unreleased) - Fix for a logger annoyance message when mousing over far edge of image - Updates for deprecations in numpy 2.0 - Fix for missing menubar on some versions of Qt and Mac OS X +- Fix for importing mpl colormaps with recent versions of matplotlib Ver 4.1.0 (2022-06-30) ====================== diff --git a/ginga/cmap.py b/ginga/cmap.py index dd2831071..766eeb797 100644 --- a/ginga/cmap.py +++ b/ginga/cmap.py @@ -4,18 +4,12 @@ # This is open-source software licensed under a BSD license. # Please see the file LICENSE.txt for details. # -import warnings - import numpy as np -from astropy.utils import minversion __all__ = ['ColorMap', 'add_cmap', 'get_cmap', 'has_cmap', 'get_names', 'matplotlib_to_ginga_cmap', 'add_matplotlib_cmap', 'add_matplotlib_cmaps'] -MPL_LT_3_4 = not minversion('matplotlib', '3.4') - - # Some built in colormaps cmap_soss = ( @@ -13309,12 +13303,7 @@ def add_matplotlib_cmap(cm, name=None): def add_matplotlib_cmaps(fail_on_import_error=True): """Add all matplotlib colormaps.""" try: - import matplotlib.pyplot as plt - from matplotlib import cm as _cm - if MPL_LT_3_4: - from matplotlib.cbook import mplDeprecation as MatplotlibDeprecationWarning - else: - from matplotlib import MatplotlibDeprecationWarning + from matplotlib import colormaps as _mpl_cm except ImportError: if fail_on_import_error: raise @@ -13322,15 +13311,12 @@ def add_matplotlib_cmaps(fail_on_import_error=True): return # NOTE: Update if matplotlib has new public API for this. - for name in plt.colormaps(): + for name in _mpl_cm: if not isinstance(name, str): continue try: - # Do not load deprecated colormaps - with warnings.catch_warnings(): - warnings.simplefilter('error', MatplotlibDeprecationWarning) - cm = _cm.get_cmap(name) - add_matplotlib_cmap(cm, name=name) + cm = _mpl_cm[name] + add_matplotlib_cmap(cm, name=name) except Exception as e: if fail_on_import_error: print(f"Error adding colormap '{name}': {e!r}") diff --git a/setup.cfg b/setup.cfg index b2cbaa491..0a6192362 100644 --- a/setup.cfg +++ b/setup.cfg @@ -57,7 +57,7 @@ setup_requires = setuptools_scm recommended = python-magic>=0.4.15 scipy>=0.18.1 - matplotlib>=2.1 + matplotlib>=3.4 opencv-python>=4.5.4.58 exifread>=2.3.2 beautifulsoup4>=4.3.2