使用颜色作为第三维度

Cod*_*Guy 3 3d plot r colors

我想要绘制3个维度,我希望第三个维度是颜色.

顺便说一句,这将在R中.例如,我的数据看起来像这样

x = [1,2,3,4,1,5,6,3,4,7,8,9]
y = [45,32,67,32,32,47,89,91,10,12,43,27]
z = [1,2,3,4,5,6,7,8,9,10,11,12]
Run Code Online (Sandbox Code Playgroud)

我试图使用filled.contour,但它给了我一个错误,说x和y必须按递增顺序.但我不确定如何安排我的数据,这是真的.因为如果我按递增顺序排列x,那么y将不会按递增顺序排列.

对我来说,做一个非填充轮廓方法也是可行的,它只是有色的数据点.我怎么能在R中做这个.任何建议的包?请使用具体示例.谢谢!

42-*_*42- 5

jet.colors <-
   colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
                      "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
plot(x,y, col=jet.colors(12)[z], ylim=c(0,100), pch=20, cex=2)
legend(8.5,90, col = jet.colors(12)[z], legend=z, pch=15)
Run Code Online (Sandbox Code Playgroud)

如果要检查着色,可以使用z值标记点:

text(x, y+2, labels=z)  #offset vertically to see the colors
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另一种选择是使用package:akima,它对不规则(非)-grids进行插值:

require(akima)
require(lattice)
ak.interp <- interp(x,y,z)
pdf(file="out.pdf")
levelplot(ak.interp$z, main="Output of akima plotted with lattice::levelplot", contour=TRUE)
 dev.off()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述