R 根据值向量的不同,绘图中的颜色点也不同

R 根据值向量的不同,绘图中的颜色点也不同,r,colors,plot,gradient,R,Colors,Plot,Gradient,我正在用R的绘图函数绘制下面的绘图。这是一个向量“移位时间”的时间移位图。我有另一个向量“强度”,强度值从~3到~9。我想根据那些带有颜色渐变的值在绘图中给我的点上色。示例中,我可以在实际绘制点的值上找到颜色,因此在本例中,向量“shiftTime”的值。是否也可以使用不同的向量,只要相应的值位于同一索引上 下面是一个使用基本R图形的解决方案: #Some sample data x <- runif(100) dat <- data.frame(x = x,y = x^2 + 1)

我正在用R的绘图函数绘制下面的绘图。这是一个向量“移位时间”的时间移位图。我有另一个向量“强度”,强度值从~3到~9。我想根据那些带有颜色渐变的值在绘图中给我的点上色。示例中,我可以在实际绘制点的值上找到颜色,因此在本例中,向量“shiftTime”的值。是否也可以使用不同的向量,只要相应的值位于同一索引上


下面是一个使用基本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)
#一些示例数据

x使用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")
库(ggplot2)
#一些样本数据

x要在joran的答案中添加一个图例(以R为底):

legend("topleft",title="Decile",legend=c(1:10),col =rbPal(10),pch=20)
本例仅为美观添加了“cex=0.8”:


如何使此图例成为连续的颜色渐变条?如何在参数图例中使用正确的值?(不是legend=c(1:10))??使用
cut(dat$y,breaks=10)
获得参数legendI觉得这可能是相当直观的,但只是澄清一下,调色板中使用的“10”指的是范围内的颜色数。这甚至可以被分离出来并分配给一个变量,以获得一个更具可配置性的图形。这对于不断增加的数据来说很好,但是低于上一个点的点又如何呢。这个颜色编码不会显示出来。很抱歉joran