用R做三维图版

平时做二维图版很方便,什么工具顺手就用什么,excel,origin,spss,R,python什么的,高兴用什么就用什么。最近研究需要做三维图版,然后就发现找不到好用的工具。

R里能做三维散点图的包不少,但是我最喜欢的那个很牛的包叫rgl。具体来说,这个包使用很简单,library("rgl")

然后直接用plot3d(x,y,z,col,size,type,xlim,ylim,zlim)就得到了图。

如果仅仅是这样的话,就体现不了这个包牛在哪里了。这个包做的三维图可以鼠标拖拽旋转,让使用的人非常直观的看到三维图的效果,旋转一个自己觉得最舒服的角度来看待数据。这个交互功能真是爽得不要不要的。

刚开始用这个包的时候,最难受的是怎么让不同类别的数据用不同的颜色或形状显示出来,搞了很久,无意发现了一个变通的办法,就是多用几次with,至少可以让四组数据用不同颜色显示出来,比如这样的代码:

with(df1,plot3d(x,y,z,col="blue",size=5,xlim=c(0,30),ylim=c(0,8),zlim=c(20,60)))

with(df2,plot3d(x,y,z,col="red",size=5,xlim=c(0,30),ylim=c(0,8),zlim=c(20,60)))

with(df3,plot3d(x,y,z,col="green",size=5,xlim=c(0,30),ylim=c(0,8),zlim=c(20,60)))

with(df4,plot3d(x,y,z,col="gray",size=5,xlim=c(0,30),ylim=c(0,8),zlim=c(20,60)))

现在,最难受的变成了如何显示图例...至少我现在还没找到好办法...

发表评论

电子邮件地址不会被公开。 必填项已用*标注