varias usar superponer paletas los gráficos graficas ggplot escala ejes como colores color cambiar r ggplot2

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)