Truco R. Paletas de colores en R

30 Ene

Paletas de colores en R


En cuántas ocasiones habéis querido dar color a un gráfico y por aligerar código creáis gráficos de este tipo:

x = rpois(100,as.integer(runif(10)*1000))
barplot(sort(x))

Pues en R esta labor puede costarnos muy poco si empleamos las paletas de colores. Hoy quiero presentaros las siguientes:

  • rainbow
  • heat.colors
  • terrain.colors
  • topo.colors

Ejemplos de uso:

require(graphics)
barplot(sort(x),col = rainbow(x),main="Paleta rainbow")
barplot(sort(x),col = heat.colors(length(x)),main="Paleta heat")
barplot(sort(x),col = topo.colors(length(x)),main="Paleta topo")

Comparad, metemos los 4 gráficos en una sóla ventana y tendremos la figura con la que iniciamos esta entrada:

png(file="C:\\temp\\paletas_colores_R.png",
width=1200, height=800)
par(mfrow = c(2, 2))
barplot(sort(x),main="Sin paleta")
barplot(sort(x),col = rainbow(x),main="Paleta rainbow")
barplot(sort(x),col = heat.colors(length(x)),main="Paleta heat")
barplot(sort(x),col = topo.colors(length(x)),main="Paleta topo")
dev.off()

Podéis hacer vuestra propia paleta de colores, pero eso lo veremos otro día, ahora mis hijos me reclaman.

4 respuestas a «Truco R. Paletas de colores en R»

  1. A mi me gusta mucho el paquete RColorBrewer, que tiene unas cuantas paletas disponibles y te permite crear más colores dentro de la paleta, de forma que el cambio de color se difumina. Un ejemplo:

    library(«RColorBrewer»)

    ### Esquemas de colores disponibles
    display.brewer.all()

    ### Creando más colores
    ### 90: pasando de azul claro a azul oscuro

    par(mfrow=c(2,1))
    # 9 colores
    barplot(rep(1,9),space=0,border=NA,axes=F,
    col=brewer.pal(9,»Blues»))
    # 90 colores
    barplot(rep(1,90),space=0,border=NA,axes=F,
    col=colorRampPalette(brewer.pal(9,»Blues»))(90))

  2. Hola, me parece muy bine la paleta de colores pero en el caso solo trabaja con barras que van de manera ascendente, pero si yo quiera utilizarlo en barras con la función Polygon se podrá implementar?..Slds

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *