matplotlib colors vs html colors

sorry if this has been covered before, but I must say I've found the
following quite confusing :
color="cyan" is not in fact equivalent to color='c'

in colors.py :

Commands which take color arguments can use several formats to specify
the colors. For the basic builtin colors, you can use a single letter

    - b : blue
    - g : green
    - r : red
    - c : cyan
    - m : magenta
    - y : yellow
    - k : black
    - w : white

in ColorConverter :
    colors = {
        'b' : (0.0, 0.0, 1.0),
        'g' : (0.0, 0.5, 0.0),
        'r' : (1.0, 0.0, 0.0),
        'c' : (0.0, 0.75, 0.75),
        'm' : (0.75, 0, 0.75),
        'y' : (0.75, 0.75, 0),
        'k' : (0.0, 0.0, 0.0),
        'w' : (1.0, 1.0, 1.0),
        }

we are told 'c' is short for cyan. Yet color="cyan" is not equivalent
to color='c'
   'cyan' : '#00FFFF'

In [50]: rgb2hex((0.0, 0.75, 0.75))
Out[50]: '#00bfbf'

sorry if this has been covered before, but I must say I've found the
following quite confusing :
color="cyan" is not in fact equivalent to color='c'

in colors.py :

Commands which take color arguments can use several formats to specify
the colors. For the basic builtin colors, you can use a single letter

- b : blue
- g : green
- r : red
- c : cyan
- m : magenta
- y : yellow
- k : black
- w : white

in ColorConverter :
colors = {
'b' : (0.0, 0.0, 1.0),
'g' : (0.0, 0.5, 0.0),
'r' : (1.0, 0.0, 0.0),
'c' : (0.0, 0.75, 0.75),
'm' : (0.75, 0, 0.75),
'y' : (0.75, 0.75, 0),
'k' : (0.0, 0.0, 0.0),
'w' : (1.0, 1.0, 1.0),
}

we are told 'c' is short for cyan. Yet color="cyan" is not equivalent
to color='c'
'cyan' : '#00FFFF'

In [50]: rgb2hex((0.0, 0.75, 0.75))
Out[50]: '#00bfbf'

Thank you for reporting.

It seems that it is not just "c", but the rgb values of "m" and "y"
are also different.

In [26]: cc.to_rgb("magenta")
Out[26]: (1.0, 0.0, 1.0)

In [27]: cc.to_rgb("m")
Out[27]: (0.75, 0, 0.75)

In [30]: cc.to_rgb("yellow")
Out[30]: (1.0, 1.0, 0.0)

In [31]: cc.to_rgb("y")
Out[31]: (0.75, 0.75, 0)

John, the relevant code to define the "colors" attribute seems to be
written by you. Maybe this is some matlab convention? Can you comment
on this?

Regards,

-JJ

···

On Sun, Apr 11, 2010 at 12:40 PM, Peter Butterworth <butterw@...287...> wrote:

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

The original color letters did come from matlab, and some of the color
RGB choices, like the background for the subplot gray, I got using a
color picker on my screen for maximum compatibility, but I do not
recall if that was the case for 'm', 'c' and 'y'. Most likely these
were the rgb values of the matlab colors.

The html colors were submitted later by another user, and apparently
we never checked for consistency. I think this is a wart, and I
don't feel strongly about keeping it or changing it for consistency in
the trunk ahead of 1.0 (it should remain as is on the branch). If we
change it on the trunk, we should change the single letter codes to
correspond to the html full color name standards, rather than the
other way around.

JDH

···

On Wed, Apr 14, 2010 at 2:14 PM, Jae-Joon Lee <lee.j.joon@...287...> wrote:

John, the relevant code to define the "colors" attribute seems to be
written by you. Maybe this is some matlab convention? Can you comment
on this?

John Hunter wrote:

John, the relevant code to define the "colors" attribute seems to be
written by you. Maybe this is some matlab convention? Can you comment
on this?

The original color letters did come from matlab, and some of the color
RGB choices, like the background for the subplot gray, I got using a
color picker on my screen for maximum compatibility, but I do not
recall if that was the case for 'm', 'c' and 'y'. Most likely these
were the rgb values of the matlab colors.

The html colors were submitted later by another user, and apparently
we never checked for consistency. I think this is a wart, and I
don't feel strongly about keeping it or changing it for consistency in
the trunk ahead of 1.0 (it should remain as is on the branch). If we
change it on the trunk, we should change the single letter codes to
correspond to the html full color name standards, rather than the
other way around.

I would be cautious about making this change. At least on my laptop screen, with the default white axes background, the single-letter colors show up better than the html versions. It makes sense to me for the single-letter colors to be chosen for good visibility and contrast in actual use, not for consistency with the html names. In fact, I see no good argument for consistency in this case.

Eric

···

On Wed, Apr 14, 2010 at 2:14 PM, Jae-Joon Lee <lee.j.joon@...287...> wrote:

JDH

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options

matlab colors seem to follow html :
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/colorspec.html
I would agree that "yellow" is not very readable at all. Could
possibly the short-hand colors be made user configurable in
.matplotlibrc to suit individual taste ?

In any case, this issue needs to be mentioned in the documentation.

···

On Wed, Apr 14, 2010 at 9:58 PM, Eric Firing <efiring@...202...> wrote:

John Hunter wrote:

On Wed, Apr 14, 2010 at 2:14 PM, Jae-Joon Lee <lee.j.joon@...287...> >> wrote:

John, the relevant code to define the "colors" attribute seems to be
written by you. Maybe this is some matlab convention? Can you comment
on this?

The original color letters did come from matlab, and some of the color
RGB choices, like the background for the subplot gray, I got using a
color picker on my screen for maximum compatibility, but I do not
recall if that was the case for 'm', 'c' and 'y'. Most likely these
were the rgb values of the matlab colors.

The html colors were submitted later by another user, and apparently
we never checked for consistency. I think this is a wart, and I
don't feel strongly about keeping it or changing it for consistency in
the trunk ahead of 1.0 (it should remain as is on the branch). If we
change it on the trunk, we should change the single letter codes to
correspond to the html full color name standards, rather than the
other way around.

I would be cautious about making this change. At least on my laptop screen,
with the default white axes background, the single-letter colors show up
better than the html versions. It makes sense to me for the single-letter
colors to be chosen for good visibility and contrast in actual use, not for
consistency with the html names. In fact, I see no good argument for
consistency in this case.

Eric

JDH

--
thanks,
peter butterworth

for c, m, y
but not for green, where matplotlib does follow html ...

···

On Thu, Apr 15, 2010 at 5:16 AM, Peter Butterworth <butterw@...287...> wrote:

matlab colors seem to follow html :
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/colorspec.html