NCAS-CMS / NCAS-CMS/cf-plot

Default colourbar `extend='max'` when minimum level or value is zero

Open
#44 2 comments 0 reactions 1 assignee View on GitHub

@sadielbartholomew is already working on this.

Since Mar 25, 2024.

enhancement image-based
Dominant language
Python
Stars
21
Forks
11
Avg merge
7h 11m
Merged PRs (30d)
1

Description

cf-plot has an 'extend' keyword option to cbar, levs and to specific functions to enable or disable extension markers on each end of the displayed colour bar, which is set by default to be enabled at both ends:

https://github.com/NCAS-CMS/cf-plot/blob/a325942415561e5a22773715ff3946e1416094f7/cfplot/cfplot.py#L8618-L8619

which produces colour bar ends like this (see red annotations):

example_1_extend

However, in practice I have seen people show plots in presentations where the values plotted start at zero where the extension marker is still at the lower end. This made me think that we should update our default behaviour.

Namely, given very often when data values begin at 0(.0) that means the data in question doesn't make physical sense as a negative value, e.g. for a ratio or fraction such as albedo, for a vector magnitude such as wind magnitude, or for a scalar quantity such as mass which has no meaning in negative terms.

In these cases by default we still show the extension markers on the lower end, which is misleading data visualisation (and as much as the user should change this on the plot to correct it, often I have seen this hasn't been done - maybe they didn't have the time, or weren't aware that cf-plot allows one to configure this). In these cases, the colour bar should have extend='max' as the default behaviour, so that only the colour bar upper end gets the extension marker end:

example_2_extend

(Note this would only be default behaviour, and can still be overridden by the user in case the range of possible values does extend below zero and they just happen to want to show the levels beginning with zero.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.