在R中进行基本的2D颜色平滑处理

4

我有以下数据和对应的颜色:

x = c(2,3,4,2,3,7,8,7,5,6,2,3,6,8,9,10)
y = c(5,6,5,6,5,11,12,11,16,17,12,12,10,5,6,5)
col = sample(c("red","green"),16,rep=T)
plot(x,y,col=col,xlim=c(0,20),ylim=c(0,20),pch=16)

如果你运行这段代码,你可以看到它是一个二维图,范围从0到20的x和y方向。我想使颜色更加平滑,现在是红色和绿色,应该保持这样。这意味着在具有红色和绿色点的情况下,它们将变成棕色。当前没有颜色的图区域应该是白色的。因此,应该有白色区域、红色区域、绿色区域、棕色区域和中间区域。
更正式地说,你可以认为这是一种颜色插值技术。
1个回答

1
我不太清楚您需要什么,但也许您想要将点变大并透明化,以便它们可以重叠。
library(scales)
plot(x,y,col=alpha(col,0.5),xlim=c(0,20),ylim=c(0,20),pch=16,cex=20)

alpha() 函数允许您使点透明。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接