[R] col2rgb() function
Achim Zeileis
Ach|m@Ze||e|@ @end|ng |rom u|bk@@c@@t
Sun Jul 23 22:13:23 CEST 2023
Just one addition which may or may not be useful: The color palette you
use is also known as "Okabe-Ito" and it is the default set of colors in
the palette.colors() function. This function also has an optional alpha
argument. So if you want to generate these colors with an alpha of 0.3 you
can also do:
palette.colors(8, alpha = 0.3)
or more explicitly
palette.colors(8, palette = "Okabe-Ito", alpha = 0.3)
On Sun, 23 Jul 2023, Nick Wray wrote:
> Thanks That works nicely Nick
>
> On Sun, 23 Jul 2023 at 19:26, Ben Bolker <bbolker using gmail.com> wrote:
>
>> Does adjustcolor() help?
>>
>> 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
>>> PLEASE do read the posting guide
>> 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
>> PLEASE do read the posting guide
>> 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
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list