usar - superponer graficas en r ggplot
Usar una paleta de colores predefinida en ggplot (4)
¿Alguien sabe cómo usar una paleta de colores predefinida en ggplot?
Tengo un vector de colores que me gustaría usar:
rhg_cols <- c("#771C19", "#AA3929", "#E25033", "#F27314", "#F8A31B",
"#E2C59F", "#B6C5CC", "#8E9CA3", "#556670", "#000000")
Pero cuando trato de pasarlo a nada sucedió
ggplot(mydata, aes(factor(phone_partner_products)), color = rhg_cols) +
geom_bar()
Dado que los colores que desea SON los valores en la estética del color, lo que realmente desea es la escala de identity
, en este caso scale_fill_identity
.
ggplot(mydata, aes(factor(phone_partner_products)), color=rhg_cols) +
geom_bar() +
scale_fill_identity())
Como no proporcionó datos, voy a utilizar un ejemplo ligeramente diferente con sus datos de color:
rhg_cols <- c("#771C19","#AA3929","#E25033","#F27314","#F8A31B",
"#E2C59F","#B6C5CC","#8E9CA3","#556670","#000000")
mydata <- sample(rhg_cols, 100, replace = TRUE)
qplot(mydata, fill = mydata) +
scale_fill_identity()
nota: omití + opts(axis.text.x=theme_text(angle=90))
para mayor claridad en el ejemplo.
Debes poner colour = rhg_cols
dentro de aes()
. Por lo que puedo decir, ¿quieres aplicar gradiente a barras (en barra) con factor variable en la abscisa? Luego usa fill
- prueba esto en su lugar:
ggplot(mydata, aes(factor(phone_partner_products), fill = factor(phone_partner_products))) +
geom_bar() +
scale_fill_manual(values = rhg_cols)
o intenta lograr una réplica aproximada con:
ggplot(mydata, aes(factor(phone_partner_products), fill = phone_partner_products))) +
geom_bar() +
scale_fill_gradient(low = "#771C19", high = "#000000")
Observe que en el segundo caso se pasa una variable continua para fill
estética, por scale_fill_gradient
tanto scale_fill_gradient
se pasa luego. Si pasa un factor
a los aes de fill
, debe seguir con scale_fill_manual(values = rhg_cols)
.
Primero agregue los colores a su conjunto de datos:
mydata$col <- rhg_cols
Luego, scale_colour_identity
color a esa columna y usa scale_colour_identity
ggplot(mydata, aes(factor(phone_partner_products, colour = col))) +
geom_bar() +
scale_colour_identity()
Si los colores son una paleta, usa scale_colour_manual
:
ggplot(mydata, aes(factor(phone_partner_products), colour = colour_variable)) +
scale_colour_manual(values = rhg_cols)