sábado, 24 de octubre de 2009

Colores

En R hay varias formas de especificar un color. La más sencilla es llamar al color por su nombre, eso sí, en inglés. Por ejemplo, el color azul con su intensidad máxima se consigue con "blue".
El listado completo de nombres que R reconoce se puede obtener con la función colors() o colours():

> colors()[1:10]
[1] "white" "aliceblue" "antiquewhite" "antiquewhite1"

[5] "antiquewhite2" "antiquewhite3" "antiquewhite4" "aquamarine"
[9] "aquamarine1" "aquamarine2"


También se puede especificar un color con el código de intensidades RGB. Para ello disponemos de la función rgb() en la que debemos introducir la intensidad de los tres colores básicos: R rojo, G verde y B azul.
La intensidad se mide por defecto de 0 a 1, pero también se puede fijar entre 0 y 255.
Por ejemplo, el azul corporativo de la Universidad de Barcelona es un Azul Pantone 285, que según la equivalencia del artículo Convert Pantone Colours to RGB se puede utilizar como

rgb(58, 117, 196, max=255)

Una alternativa consiste en especificar las intensidades en forma hexadecimal. El azul UB es

"#3A75C4"

Los dos dígitos hexadecimales para cada intensidad se mueven entre el cero 00 y el máximo FF.

También disponemos de una función hsv() para especificar los colores con la tripleta HSV Hue-Saturation-Value. Sin demasiada precisión se puede decir que el matiz (hue) indica la posición del color en el arco iris, desde el rojo (0) , a través del naranja, amarillo, verde, azul, índigo, hasta el violeta (1).
La saturación fija la intensidad del color entre la palidez y la viveza.

Por último, el valor o brillo se usa para describir que tan claro u oscuro parece un color, y se refiere a la cantidad de luz percibida.

La función rgb2hsv() nos puede ayudar a convertir un color de RGB a HSV. El azul UB es

> rgb2hsv(58,117,196)
[,1]
h 0.5954106
s 0.7040816
v 0.7686275


Otro sistema para especificar un color es fijar un conjunto de colores o paleta y seleccionar uno de ellos con un número entero, es decir, su posición en la paleta. Por defecto tenemos ya definida una paleta de colores que podemos ver con la función palette()

> palette()
[1] "black" "red" "green3" "blue" "cyan" "magenta" "yellow"
[8] "gray"

En esta paleta el color azul es el número 4.
Así pues podemos definir nuestra propia paleta y utilizarla con los números de posición de los colores.

Por último decir que R proporciona algunas funciones que definen grupos de colores que tienen algún sentido de conjunto. Ejemplos: rainbow(), heat.colors(), terrain.colors(), topo.colors(), cm.colors() y grey()o gray(). En el gráfico que encabeza este artículo podemos ver los colores de estos grupos.

No hay comentarios:

Publicar un comentario