Skip to content

Feature request: Expand Qualitative Colormaps #491

Open

Description

@cvanelteren

UltraPlot bundles scientific colormaps but I find myself often reaching and failing with regards to discrete colormaps. I think we should explore adding more qualitative colormaps to the UltraPlot family. Examples may be

We could provide optional bindings or bundle them directly.

Activity

  1. pratiman-91 commented on Oct 5, 2026

    @pratiman-91
    Contributor
  2. beskep commented on Oct 13, 2026

    @beskep

    I highly recommend Paul Tol's color schemes, which are colorblind friendly and have a reasonable lightness contrast.

    Also, the cmap package has extensive catalogue of colormaps.

  3. cvanelteren commented on Oct 13, 2026

    @cvanelteren
    CollaboratorAuthor

    Yeah I wonder if we should bundle them or just keep references to these resources on the docs.

  4. beskep commented on Oct 13, 2026

    @beskep

    UltraPlot already has built-in colormaps, so maybe optional bindings would be better than adding data to maintain.

    The cmap package supports to_matplotlib().
    It would be convenient to be able to set cmap.qualitative: tol:bright-alt in ultraplotrc if cmap is installed.

  5. cvanelteren commented on Oct 16, 2026

    @cvanelteren
    CollaboratorAuthor

    @beskep isn't that just an order thing? If cmap can register it to mpl we can load them if they are already in their registry

  6. cvanelteren commented on Oct 16, 2026

    @cvanelteren
    CollaboratorAuthor

    To elaborate on this. We register all matplotlib colormaps and then create a new database that will be contain a reference to matplotlib's registry. I think this would be best placed within cmap to registry cmaps directly to matplotlib, then it would automagically work also here (without an ordering effect).

  7. beskep commented on Oct 16, 2026

    @beskep

    I hadn’t thought of registering them as mpl colormaps and then setting them in ultraplotrc.

    cmap is designed to depend only on numpy.
    It can export to matplotlib, but as far as I know it has no feature to call matplotlib.colormaps.register() itself.

    When I registered it manually, the cmap.qualitative: tol:bright setting worked.
    That kind of usage works for me.

  8. cvanelteren commented on Oct 16, 2026

    @cvanelteren
    CollaboratorAuthor

    I think cmaps should do this on import then you can reference them by string directly in mpl or ultraplot

  9. cvanelteren commented on Oct 22, 2026

    @cvanelteren
    CollaboratorAuthor

    So over at cmap they added registration features, but auto registrations is not implemented. Not sure if we should proceed to add it here with a dep.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions