Skip to content

Matplotlib v3.11.2 compatibility cmap None #831

Closed

Description

@Jhsmit

I have an issue with proplot 2.7.0 and matplotlib 3.11.2
Version 3.11.1 matplotlib works fine.

code

import ultraplot as uplt

fig, ax = uplt.subplots()
ax.scatter([1, 2, 3], [4, 5, 6])

raises

lib/python3.13/site-packages/matplotlib/colorizer.py", line 830, in _ensure_cmap
    raise ValueError(_api.list_suggestion_error_msg('cmap', cmap, mpl.colormaps) +
    ...<2 lines>...
                     " bivariate and multivariate colormaps")
ValueError: None is not a valid value for cmap. Supported ....

Creating a scatter with only matplotlib is fine in v3.11.2

setting uplt.rc["image.cmap"] = "viridis"is a workaround, so I suspect the issue is related to ultraplot setting image.cmap as none which matplotlib uses as fallback?

Activity

  1. cvanelteren commented on Sep 29, 2026

    @cvanelteren
    Collaborator

    Hmm this seem like something that is new on 3.11.2; works fine on 3.11.0. Will investigate!

  2. self-assigned this
    on Sep 29, 2026
  3. cvanelteren commented on Sep 30, 2026

    @cvanelteren
    Collaborator

    The issue was that they did not allow anymore for None to pass through and by the time our code was overriding their database it was not ready yet to allow for other colormaps to get retrieved. This is fixed now on main. Thanks for reporting @Jhsmit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions