R 如何创建对数比例的颜色渐变?

R 如何创建对数比例的颜色渐变?,r,colors,R,Colors,我想绘制1950-2114年记录和预测的全球温度异常图,在对数10的时间尺度上显示为黄红色渐变的颜色 基于对的回答,我已经能够创建一个颜色条,它或多或少是我的目标,除了时间尺度是线性的,而不是对数 这是我使用的代码,带有一个虚拟向量数据集 temps<-rnorm(165) scaled_temps <- (temps - min(temps)) / diff(range(temps)) FUN <- colorRamp(c("yellow","red")) cols &

我想绘制1950-2114年记录和预测的全球温度异常图,在对数10的时间尺度上显示为黄红色渐变的颜色

基于对的回答,我已经能够创建一个颜色条,它或多或少是我的目标,除了时间尺度是线性的,而不是对数

这是我使用的代码,带有一个虚拟向量数据集

temps<-rnorm(165)

scaled_temps <- (temps - min(temps)) / diff(range(temps))

FUN <- colorRamp(c("yellow","red"))

cols <- FUN(scaled_temps)

rgb(cols, maxColorValue=256)

my.colors = colorRampPalette(c(rgb(cols, maxColorValue=256)))

z=matrix(1:165,nrow=165)
y=1
x=seq(1950, 2114,len=165)
image(x,y,z,col=my.colors(165),axes=FALSE,xlab="",ylab="")
axis(1)
有没有关于如何在对数刻度上绘制的想法?考虑到每年的颜色不会有固定的宽度,使用矩阵和图像可能不是一个好办法


任何输入都将不胜感激。

我应该更仔细地阅读帮助文件中的图像。我将x=seq1950、2114、len=165替换为在csv中计算的log10转换年份值向量,之前为:

-2014年之前年份的LOG10YBP

2014年后多年的Log10YBP

其中YBP=2014-[年]

因为2014年和2015年的对数转换值需要稍微修改,以防止当前年份出现未定义的值,并保持x参数网格线的升序。不可取,但对我来说是可以接受的。如果没有这种捏造,2013年、2014年和2015年的对数转换年份顺序将是

0,未定义,0

从imagehelp文件:

x参数-测量z中值的网格线位置。这些必须是有限的、不缺失的,并且严格按照升序排列。默认情况下,使用0到1之间的等间距值