我在南美的降水场范围从0到70.我只对0到12之间的值感兴趣,所以我想绘制场在此范围内,其值> 12在极端颜色,我想要的颜色条图例有一个尖的端部,表明每大于12的值是在该颜色,这样的事情:如何为图像绘制一个尖的颜色条 - R
Example with the color bar the way I want it
有谁知道如何做到这一点?到目前为止,我还没有找到一种方法来制作除矩形彩条之外的其他方法。
我在南美的降水场范围从0到70.我只对0到12之间的值感兴趣,所以我想绘制场在此范围内,其值> 12在极端颜色,我想要的颜色条图例有一个尖的端部,表明每大于12的值是在该颜色,这样的事情:如何为图像绘制一个尖的颜色条 - R
Example with the color bar the way I want it
有谁知道如何做到这一点?到目前为止,我还没有找到一种方法来制作除矩形彩条之外的其他方法。
一种方法是编写自己的自定义颜色条绘图功能,使用基本绘图功能实现,如rect()
,polygon()
和text()
。例如:
arrowedColorBar <- function(ylow,yhigh,xcenter,xwidth,nums,...,cols=rainbow(length(nums)+2L)) {
x1 <- xcenter-xwidth/2;
x2 <- xcenter+xwidth/2;
ys <- seq(ylow,yhigh,len=length(nums)+2L);
y1 <- ys[1L];
y2 <- ys[2L];
polygon(c(x1,xcenter,x2),c(y2,y1,y2),col=cols[1L]);
for (i in seq_along(nums)) {
y1 <- ys[i+1L];
y2 <- ys[i+2L];
if (i<length(nums)) rect(x1,y1,x2,y2,col=cols[i+1L]);
text(x2,y1,nums[i],pos=4L,...);
}; ## end for
y1 <- ys[length(ys)-1L];
y2 <- ys[length(ys)];
polygon(c(x1,xcenter,x2),c(y1,y2,y1),col=cols[length(cols)]);
invisible();
}; ## end arrowedColorBar()
plot(c(-80,-40),c(-60,20),pch=NA,xlab='x',ylab='y');
arrowedColorBar(-60,10,-45,1.3,c(1,2,3,4,5,7,10,13,15),font=2L);
太棒了!非常感谢你!我会试试这个,让你知道。 –
工作完美,再次感谢! –
我建议你告诉我们,你如何会与普通的彩条......从一个工作示例做了。然后mod可以被提议和测试。 –
我的意思是说,当使用'image.plot()'时,它会自动创建一个矩形的颜色条。 –
'' image.plot' returns:“在指定的包和库中没有'image.plot'的文档: 你可以试试'?? image.plot'”(也不知道你为什么回应这个评论。有一个答案。) –