-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for importing mpl colormaps with recent versions of matplotlib #1077
Changes from 2 commits
83228e1
d1b492e
088fa76
eda38e1
ed8d25d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13309,8 +13309,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 | ||
from matplotlib import colormaps as _mpl_cm | ||
if MPL_LT_3_4: | ||
from matplotlib.cbook import mplDeprecation as MatplotlibDeprecationWarning | ||
else: | ||
|
@@ -13322,14 +13321,14 @@ 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) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think the deprecation warning catching should be removed. It should no longer happen. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @pllim, because those particular color maps have been removed some time ago? I guess we can add the code back if they deprecate more color maps in the future. Wondering why they deprecated color maps... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @ejeschke , I don't follow matplotlib development closely, so not sure. But I do not see any warning now using the matplotlib I have locally. Do you? I guess does not hurt to keep it as well. |
||
cm = _cm.get_cmap(name) | ||
cm = _mpl_cm[name] | ||
add_matplotlib_cmap(cm, name=name) | ||
except Exception as e: | ||
if fail_on_import_error: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pllim, should we drop support for mpl < 3.4 and git rid of this workaround needed for suppressing
MatplotlibDeprecationWarning
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Matplotlib is at 3.8 now. Matplotlib 3.3 has not been touched since early 2021. Do you still have any users stuck with matplotlib < 3.4? If not, probably less work to drop it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good. I'll remove the support from this module for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should also bump this?
ginga/setup.cfg
Line 60 in f0eecdf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good catch