Is there a way to set it to 3 color categories instead of a gradient?
Like if the color is based on the numbers in a dataframe column, can I
make it so anything >1.2 is red, <0.8 is blue, and anything in the
middle is green?
On Mon, Aug 24, 2020 at 6:28 PM April Ettington
<aprilettington at gmail.com <mailto:aprilettington at gmail.com>> wrote:
Thank you so much!
On Mon, Aug 24, 2020 at 5:33 PM Rui Barradas <ruipbarradas at sapo.pt
<mailto:ruipbarradas at sapo.pt>> wrote:
Hello,
Note that the midpoint argument can make a big difference. In
the code
below try commenting out the line where the default is changed.
f <- function(x){
? ?(x - min(x))/(max(x) - min(x))
}
library(ggplot2)
df1 <- iris[3:5]
names(df1)[1:2] <- c("x", "y")
df1$z <- ave(df1$y, df1$Species, FUN = f)
ggplot(df1) +
? ?geom_point( aes(x, y, color = z) ) +
? ?scale_color_gradient2(low = "red",
? ? ? ? ? ? ? ? ? ? ? ? ?mid = "yellow",
? ? ? ? ? ? ? ? ? ? ? ? ?high = "blue",
? ? ? ? ? ? ? ? ? ? ? ? ?midpoint = 0.5
? ? ? ? ? ? ? ? ? ? ? ? ?)
Hope this helps,
Rui Barradas
?s 04:43 de 24/08/20, Jeff Newmiller escreveu:
> Check out scale_colour_gradient2()
>
> On August 23, 2020 8:12:06 PM PDT, April Ettington
<aprilettington at gmail.com <mailto:aprilettington at gmail.com>> wrote:
>> Currently I am using these settings in ggplot to make a
>> red
>> to blue.
>>
>> geom_point( aes(x, y, color=z) ) +
>> scale_colour_gradient(low = "red",high = "blue") +
>>
>> z is a ratio, and currently I am able to identify which have
>> low
>> values, but I'd really like to be able to distinguish which
>> or
>> close to 1 by color.? It would be great if I could set a
>> in
>> this gradient (eg. green) that is set the the value of 1,
>> is
>> not the exact midpoint between my highest and lowest
>> a
>> way to do this in R?
>>
>> Thank you,
>> April
>>
>>? ? ? [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org <mailto:R-help at r-project.org> mailing
list -- To UNSUBSCRIBE and more, see