Coder Social home page Coder Social logo

Comments (2)

jbednar avatar jbednar commented on May 21, 2024

I'm not sure what glasbey_rw is, but I can see why it's confusing for glasbey_hv. I think it's actually already consistent, though the consistency may not be obvious:

  • The native specification for every colormap (categorical or not) is as a list of numerical RGB values.
    • E.g. for the "fire" colormap, the native values are in colorcet.linear_kryw_0_100_c71, and for "glasbey_hv", the native versions are in colorcet.glasbey_hv. You can see these values in colorcet/__init__.py.
  • There is also a Bokeh RGB version that we construct from the native one and make available for every colormap, with an attribute named as b_ plus the name of the native version.
    • E.g. for the "fire" colormap, the Bokeh RGB values are in colorcet.b_linear_kryw_0_100_c71, and for "glasbey_hv" the Bokeh RGB values are in colorcet.b_glasbey_hv

What's confusing is that for some colormaps the usual way to refer to them is through an alias like cc.fire, because the native names are long and unwieldy, and those aliases are to the RGB and not numeric triple version. There's no similarly long and unwieldy name for the glasbey maps, so it is tempting to use the native triple ones directly. Using them directly will work with systems that accept numeric triples, but Bokeh does not, so you need the b_ form.

Short of making Bokeh understand the list of numeric triples, I guess our options are to apologize and point out this issue in the docs, or change the name of the native Glasbey ones to something unwieldy and then use the names like glasbey_hv for the RGB triples. Doing this will break at least some category of users, though, so we have to be sure it's worth doing.

from colorcet.

TheoMathurin avatar TheoMathurin commented on May 21, 2024

Sorry I meant glasbey_bw, not glasbey_rw, edited in my post.

Ok I understand the logic behind this, and it explains why on the contrary cc.glasbey_cool for instance (or warm, dark etc) is a list of hex strings: it's the short name for cc.glasbey_bw_minc_20_hue_150_280 and is therefore not the native version.

In my opinion from a user perspective an inconsistency remains, as there is a different treatment for seemingly similar objects with short names (such as cc.glasbey_hv and cc.glasbey_cool). However it can be managed easily so maybe it's not worth considering breaking changes indeed. Udpating the docs may be more appropriate.

from colorcet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.