我想在R中创建一个二维散点图,第三个维度表示一个反映值的色谱。我一直在为此工作2周,没有任何博客提供帮助。这是我的数据集:如何在R中制作二维散点图,并且第三维表示反射z值的色谱?
x=c(0,0,0,0,264,330,594,726,825,825,2145,2475,3630,5082,8250,10725)
y=c(450,540,2250,630,540,2160,1170,2340,1080,738,540,648,900,900,2340,1152)
z=c(.017778,0,.079365,.037333,0,0,.052991,0,0,.009259,.048148,0,0,0,.004274,.003472)
我已经试过这个代码...
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)
...但是,当我这样做,只是一个空白xy平面没有点出现。我用ggplot2包取得了一些成功,但它看起来很难看,我想用简单的plot命令来完成。我已经成功地从scatterplot3d,wireframe和countours制作了三维图形,但这些都过于复杂和丑陋有人请帮助我知道我错过了一些简单的事情,比如我的z值可能是零或小于一。
有几件事情:首先你的'ylim'是这样的,你所有的点都不能在选定的区域绘制(你所有的'y'值都超过100)。然后,当你调用'jet.colors(12)[z]','z'是索引但'z'值都在0和0.1之间时,不能用作索引。我在想,你应该在选择颜色之前先把你的'z'分成几类。 – plannapus 2012-07-30 13:14:39
关于'ggplot2',你是否知道允许你大量定制你的情节外观的选项:https://github.com/hadley/ggplot2/wiki/-opts()-List 有还有一些主题:https://github.com/hadley/ggplot2/wiki/Themes – 2012-07-30 13:53:32