Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 特定值的固定颜色_R_Colors - Fatal编程技术网

R 特定值的固定颜色

R 特定值的固定颜色,r,colors,R,Colors,我正在试着做一个温度图,一切都很好,但我不知道如何有一个固定的调色板 其实我有这个, rgb.palette <- colorRampPalette(c("blue","green","yellow","orange","red"), space = "Lab") image.plot(akima.smooth, col = rgb.palette(NBR.COLORS),

我正在试着做一个温度图,一切都很好,但我不知道如何有一个固定的调色板

其实我有这个,

rgb.palette <- colorRampPalette(c("blue","green","yellow","orange","red"), 
                                space = "Lab")

image.plot(akima.smooth, 
           col = rgb.palette(NBR.COLORS), 
           main=main_title, 
           horizontal=TRUE,
           axes=TRUE)

如果在图1中最低温度为-20,我想要“浅蓝色”,而在图2中,如果最低温度为10℃,我想要“黄色”。

如果这是
字段:::image.plot()
,然后查看函数的参数
?image
。尤其需要使用
breaks
参数来设置用于将输入数据分解到类中以进行打印的切割点边界值

您看到的问题是,如果未设置
中断
,则调色板将应用于输入数据的范围。如果设置
中断
,则调色板将映射到所需的整个范围,并映射分配给组的数据,从而映射由中断点定义的颜色

如果这不是
字段,我没有提供示例:::image.plot()

我使用了此解决方案:

col = colorRampPalette(c("darkmagenta","blue","green","yellow","orange","red"),
                       space="Lab")(NBR.COLORS) 
breaks = c(seq(-35, 10, length.out=NBR.COLORS/2), 10, 
           seq(10, 35, length.out=NBR.COLORS/2))
image.plot(akima.smooth, col=col, breaks=breaks, main=main_title,
           horizontal=TRUE,axes=TRUE);

@用户1311058很高兴它起作用了。确保在可能的情况下接受您的回答,以表明此问答已成功结束。它帮助其他人知道问题已经解决。请参阅常见问题部分。@user1311058感谢您的接受,但您的答案更完整,值得接受。您可以在发布自己的答案一天后(大约?)完成此操作。如果你取消我的选择,以后再接受你的,我不会生气;目的是为网络编程提供最好的资源。
col = colorRampPalette(c("darkmagenta","blue","green","yellow","orange","red"),
                       space="Lab")(NBR.COLORS) 
breaks = c(seq(-35, 10, length.out=NBR.COLORS/2), 10, 
           seq(10, 35, length.out=NBR.COLORS/2))
image.plot(akima.smooth, col=col, breaks=breaks, main=main_title,
           horizontal=TRUE,axes=TRUE);