Closed sirjamesgray closed 4 years ago
A set of useful perceptually uniform colormaps for plotting scientific data: http://colorcet.pyviz.org
We decided to add this functionality where it's missing (that is, widgets that do not show colors corresponding to values of variables, like heatmap and distance map).
On the other hand, @markotoplak said (and provided a link) that there are some well-designed gradients that should be used, and @BlazZupan concurred that the user shouldn't be allowed to pick arbitrary colors. We therefore also decided to redesign the existing Color widget to list possible options instead of letting the user pick arbitrary colors -- for numeric attributes. For discrete, I still believe that arbitrary colors should be allowed since there may be natural colors for some cases (e.g. pink and blue for gender, red and green for bad and good, colors corresponding to different companies ...)
I checked colorcet. I wouldn't add the whole package as requirement because it needlessly adds a few megabytes (mostly example images) and the lists it provides are not in appropriate format for us so we would have to convert them anyway. I would just "borrow" its palettes.
We need to decide which palettes to offer. From https://colorcet.holoviz.org/user_guide/Continuous.html, I would take
Ignore the named palettes in diverging and color blind because they already appear in named.
I skipped cyclic palettes because we don't need them. (Do we?)
Comment on my (entirely arbitrary) choice, suggest changes.
This issue is about widgets like distance map, where the color is not regulated by a particular variable. For them we will just change the selection to better palettes. In Scatter plot, which colors by attribute values, the gradient is chosen by the Color widget, which currently allows user-defined gradients. Do we remove this functionality and enforce palettes or do we just add an option to choose a predefined palette?
Rainbow is widely used for natural sciences (I think it was a default in some data analysis program or Matlab and therefore became a historical thing).
CET_CBL2 and CET_CBTL2 seem more color balanced to me...
Cyclic ones are not too useful unless there are many curves like for Orange Spectroscopy and one needs to cycle through them.
Personally, I think it would be great if the color schemes and palettes were uniform across Orange and all the Toolboxes and the super-flexibility here might be just something cool, but not too useful.
Orange version
3.3.5
Feature Request:
It would be convenient to have a custom gradient picker for better customization of output visualizations.
This applies to any widgets that use color gradients in their visualizations. (distance map is used in the example image)
Hope this is possible! :) I imagine there might be some open source color pickers out there, as long as the underlying libraries support manual color input. I would go ahead and look for some, but I'm not the most code-literate, hopefully someone else knows an optimal way to implement this.