Je trace le tracé ci-dessous en utilisant la fonction de tracé de R. Il s'agit d'un tracé d'un vecteur "shiftTime" de décalage dans le temps. J'ai un autre vecteur "intensité" des valeurs d'intensité allant de ~ 3 à ~ 9. Je veux colorer mes points dans le tracé en fonction de ces valeurs avec un dégradé de couleurs. Les exemples que je peux trouver de la couleur sur la valeur des points tracés réels, donc dans ce cas les valeurs du vecteur 'shiftTime'. Est-il également possible d'utiliser un vecteur différent, tant que les valeurs correspondantes sont sur le même indice?
Voici une solution utilisant des graphiques de base R:
#Some sample data
x <- runif(100)
dat <- data.frame(x = x,y = x^2 + 1)
#Create a function to generate a continuous color palette
rbPal <- colorRampPalette(c('red','blue'))
#This adds a column of color values
# based on the y values
dat$Col <- rbPal(10)[as.numeric(cut(dat$y,breaks = 10))]
plot(dat$x,dat$y,pch = 20,col = dat$Col)
Solution utilisant ggplot2:
library(ggplot2)
#Some sample data
x <- sort(runif(100))
dat <- data.frame(x = x,y = x^2 + 1)
# Some external vector for the color scale
col <- sort(rnorm(100))
qplot(x, y, data=dat, colour=col) + scale_colour_gradient(low="red", high="blue")