studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones r

programacion - Gradiente de n colores que van desde el color 1 y el color 2



manual de programacion android pdf (4)

A menudo trabajo con ggplot2 que hace agradables los degradados ( ggplot2 clic aquí para ver un ejemplo ). Tengo una necesidad de trabajar en la base y creo que las scales se pueden usar allí para crear degradados de color también, pero estoy severamente alejado de cómo. El objetivo básico es generar una paleta de n colores que varíe de x color a y color. La solución necesita trabajar en la base sin embargo. Este fue un punto de partida, pero no hay lugar para ingresar una n.

scale_colour_gradientn(colours=c("red", "blue"))

Estoy muy consciente de:

brewer.pal(8, "Spectral")

de RColorBrewer . Estoy buscando más el enfoque similar a cómo ggplot2 maneja los degradados que dice que tengo estos dos colores y quiero 15 colores en el camino. ¿Cómo puedo hacer eso?


La respuesta anterior es útil, pero en los gráficos, es difícil distinguir entre los gradientes más oscuros de negro. Una alternativa que encontré es usar gradientes de colores grises de la siguiente manera

palette(gray.colors(10, 0.9, 0.4)) plot(rep(1,10),col=1:10,pch=19,cex=3))

Más información sobre la escala de grises here.

Adicional

Cuando utilicé el código anterior para diferentes colores como el azul y el negro, los degradados no eran tan claros. heat.colors() parece más útil.

Este documento tiene información más detallada y opciones. pdf


Pruebe lo siguiente:

color.gradient <- function(x, colors=c("red","yellow","green"), colsteps=100) { return( colorRampPalette(colors) (colsteps) [ findInterval(x, seq(min(x),max(x), length.out=colsteps)) ] ) } x <- c((1:100)^2, (100:1)^2) plot(x,col=color.gradient(x), pch=19,cex=2)


Solo para ampliar la respuesta anterior, colorRampPalette puede manejar más de dos colores.

Entonces, para un look de tipo "mapa de calor" más expandido puedes ....

colfunc<-colorRampPalette(c("red","yellow","springgreen","royalblue")) plot(rep(1,50),col=(colfunc(50)), pch=19,cex=2)

La imagen resultante:


colorRampPalette podría ser tu amigo aquí:

colfunc <- colorRampPalette(c("black", "white")) colfunc(10) # [1] "#000000" "#1C1C1C" "#383838" "#555555" "#717171" "#8D8D8D" "#AAAAAA" # [8] "#C6C6C6" "#E2E2E2" "#FFFFFF"

Y solo para mostrar que funciona:

plot(rep(1,10),col=colfunc(10),pch=19,cex=3)