# [R] col2rgb() function

Ben Bolker bbo|ker @end|ng |rom gm@||@com
Mon Jul 24 00:18:16 CEST 2023

```   You could also adjustcolor for this approach (levels of red, green,
blue, alpha can all be adjusted proportionally)

On 2023-07-23 5:35 p.m., David Stevens via R-help wrote:
> Nick,
>
> I've also made colors transparent by pasting the hex equivalent of, say,
> 0.3*256 = 76.9 to the hex color code. e.q. for black it might be
> "#0000004d" and the 4d is 77 in hex. That way you don't need to convert
> back and forth so much. If col is "#000000" the transparent version is
>
> tcol <- paste0(col,"4d")
>
> This would work in one step on a whole palette.
>
> David
>
> David K Stevens, PhD, PE, Professor
> Civil and Environmental Engineering
> Utah Water Research Laboratory
> Utah State University
> 8200 Old Main Hill
> Logan, UT 84322-8200
> david.stevens using usu.edu
> (435) 797-3229 (office)
>
> On 7/23/2023 1:00 PM, Nick Wray wrote:
>> Thanks That works nicely  Nick
>>
>> On Sun, 23 Jul 2023 at 19:26, Ben Bolker <bbolker using gmail.com> wrote:
>>
>>>
>>> cb8<- c("#000000", "#E69F00", "#56B4E9", "#009E73","#F0E442", "#0072B2",
>>>       "#D55E00", "#CC79A7")
>>> plot(0,0,xlim=c(1,8),ylim=c(0,1))
>>> points(1:8,rep(0.5,8),col=cb8,pch=19,cex=2)
>>> points(1:8,rep(0.75,8),col=adjustcolor(cb8, alpha.f = 0.3), pch=19,cex=2)
>>>
>>> On 2023-07-23 2:15 p.m., Nick Wray wrote:
>>>> Hello  I have a palette vector of colour blind colours (in hexadecimal)
>>>> which I’m using for plots, but they are not see-through, and as I wanted
>>> to
>>>> overlay some histograms I wanted to convert these colours to rgb, when
>>> you
>>>> can set the opacity.
>>>>
>>>> I have found the function col2rgb(), which works in the sense that it
>>> gives
>>>> a vector of numbers but these don’t work directly in rgb because they are
>>>> too big.  If I divide through to make them all less than 1 I don’t get
>>> the
>>>> corresponding colour-blind hue, but something somewhat off.
>>>>
>>>> Here is the colour-blind palette in a plot:
>>>>
>>>>
>>>> *cb8<- c("#000000", "#E69F00", "#56B4E9", "#009E73","#F0E442", "#0072B2",
>>>> "#D55E00", "#CC79A7")*
>>>>
>>>> *plot(0,0,xlim=c(1,8),ylim=c(0,1))*
>>>>
>>>> *points(1:8,rep(0.5,8),col=cb8,pch=19,cex=2)*
>>>>
>>>>
>>>>
>>>> so if I try to convert the red dot ("#D55E00") (number 7) I get
>>>>
>>>> *col2rgb("#D55E00"*
>>>>
>>>>      [,1]
>>>>
>>>> red    213
>>>>
>>>> green   94
>>>>
>>>> blue     0
>>>>
>>>> *points(7,0.25,col=rgb(rgb(213,94,0)),pch=19,cex=2)*
>>>>
>>>> gives me an error message and although if  I divide through
>>>>
>>>> *points(7,0.25,col=rgb(213/307,94/307,0),pch=19,cex=2)*
>>>>
>>>> gives me a reddish dot, but not the same as in the colour-blind palette
>>>>
>>>>
>>>>
>>>> Somewhat mystified.  Can anyone help?? Thanks Nick Wray
>>>>
>>>>         [[alternative HTML version deleted]]
>>>>
>>>> ______________________________________________
>>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>> ______________________________________________
>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
>> 	[[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help