es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Escalar manualmente el color de un factor en ggplot.

Digamos que tengo un marco de datos como este.
Estoy tratando de conseguir un código que pueda crear un geom_point con 3 variables, pero solo quiero resaltar un solo nivel del factor “Algo”. Y no quiero que ninguno de los otros niveles del factor Algo (como bueno o malo) esté coloreado. O al menos pueden permanecer negros.
Estaba pensando en algo así:

graph <- dat %>%
  ggplot(aes(x=year, y=length, color=Something == "ok")) +
  geom_point()

Pero no puedo usar $ .

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear un geom_point con 3 variables y resaltar solo un nivel del factor “Something”, puedes usar la función scale_color_manual del paquete ggplot2.

    A continuación se muestra un ejemplo de código:

    “`{r}
    library(ggplot2)

    dat <- data.frame(id = c(1, 2, 3, 4),
    password = c(“1234567”, “pass4”, “angel3”, “pizza”),
    year = c(2001, 2001, 2003, 2004),
    length = c(7, 5, 6, 5),
    Something = c(“good”, “bad”, “bad”, “ok”))

    Crear un subconjunto de datos con solo los niveles “ok” de Something

    dat_subset <- subset(dat, Something == “ok”)

    ggplot(dat, aes(x = year, y = length, color = Something)) +
    geom_point() +
    scale_color_manual(values = c(“ok” = “red”)) # Resaltar solo el nivel “ok” con color rojo
    “`

    En este código, dat_subset es el subconjunto del marco de datos con solo los niveles “ok” del factor “Something”. Luego, en la función ggplot, usamos aes () para especificar el eje x, el eje y y la variable de color. La función geom_point () crea el gráfico de dispersión. Finalmente, usamos scale_color_manual () para personalizar la paleta de colores y resaltar solo el nivel “ok” con el color rojo.

    Note que no necesita usar el operador “$” para especificar el nivel “ok” del factor “Something”. Simplemente use el nombre del nivel en la función scale_color_manual().

Comments are closed.