From d0abb3ce32b3af05149f9bd1f9f91a95071787b8 Mon Sep 17 00:00:00 2001 From: ianhi Date: Thu, 2 Apr 2020 22:33:13 -0400 Subject: [PATCH 1/2] modify set_cmap to always use the correct cmap name --- lib/matplotlib/pyplot.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index a097296dc2ca..a4b2ec140ae8 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -56,7 +56,7 @@ import numpy as np # We may not need the following imports here: -from matplotlib.colors import Normalize +from matplotlib.colors import Normalize, Colormap from matplotlib.lines import Line2D from matplotlib.text import Text, Annotation from matplotlib.patches import Polygon, Rectangle, Circle, Arrow @@ -2069,11 +2069,17 @@ def set_cmap(cmap): matplotlib.cm.register_cmap matplotlib.cm.get_cmap """ - cmap = cm.get_cmap(cmap) + cbook._check_isinstance((str, Colormap), cmap=cmap) + if isinstance(cmap, str): + name = cmap + cmap = cm.get_cmap(name) + rc('image',cmap=name) + elif isinstance(cmap, Colormap): + if not cmap.name in cm.cmap_d.keys(): + cm.register_cmap(cmap.name, cmap) + rc('image', cmap=cmap.name) - rc('image', cmap=cmap.name) im = gci() - if im is not None: im.set_cmap(cmap) From cb02f116853c07d47bc7dc5c1ed0faaf0b9f97e8 Mon Sep 17 00:00:00 2001 From: ianhi Date: Thu, 2 Apr 2020 22:37:58 -0400 Subject: [PATCH 2/2] flake8 changes --- lib/matplotlib/pyplot.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/matplotlib/pyplot.py b/lib/matplotlib/pyplot.py index a4b2ec140ae8..df2e02bdc64e 100644 --- a/lib/matplotlib/pyplot.py +++ b/lib/matplotlib/pyplot.py @@ -2072,11 +2072,11 @@ def set_cmap(cmap): cbook._check_isinstance((str, Colormap), cmap=cmap) if isinstance(cmap, str): name = cmap - cmap = cm.get_cmap(name) - rc('image',cmap=name) + cmap = get_cmap(name) + rc('image', cmap=name) elif isinstance(cmap, Colormap): - if not cmap.name in cm.cmap_d.keys(): - cm.register_cmap(cmap.name, cmap) + if cmap.name not in cm.cmap_d.keys(): + register_cmap(cmap.name, cmap) rc('image', cmap=cmap.name) im = gci()