gg3D包只有5个函数分别为:axes_3D 绘制3D坐标轴,axis_labs_3D 标记坐标刻度,labs_3D标记坐标标签,stat_3D 绘制几何对象,stat_wireframe绘制3D线框或3D曲面. gg3D通常与 theme_void 以消除二维坐标系统. 绘制鸢尾花数据集library(gg3D) theta=0 phi=20 ggplot(iris, aes(x=Petal.Width, y=Sepal.Width, z=Petal.Length, color=Species)) + axes_3D(theta=theta, phi=phi) + stat_3D(theta=theta, phi=phi) + axis_labs_3D(theta=theta, phi=phi, size=3, hjust=c(1,1,1.2,1.2,1.2,1.2), vjust=c(-.5,-.5,-.2,-.2,1.2,1.2)) + labs_3D(theta=theta, phi=phi, hjust=c(1,0,0), vjust=c(1.5,1,-.2), labs=c('Petal width', 'Sepal width', 'Petal length')) + theme_void() 绘制三维曲线ggplot(ChickWeight, aes( x=as.numeric(Diet), y=as.numeric(Time), z=as.numeric(weight), color=Chick)) + theme_void() + axes_3D(theta=30, phi=20,colour='red') + stat_3D(theta=30, phi=20, geom='path') + theme(legend.position = 'none', panel.background=element_rect(fill = 'black') ) 绘制三维曲面s = seq(-pi, pi, length= 100) x <->->expand.grid(s,s)$ Var1y <->->expand.grid(s,s)$ Var2x1=c(x,x);y1=c(y,y);g=c(x,y) z <->->sin(x1)+cos(y1) dt <->->data.frame(x=x1,y=y1,z,g) ggplot(dt, aes(x=x,y=y,z=z,group=g)) + theme_void() + axes_3D(theta=theta, phi=phi,colour='black') + stat_3D(theta=theta, phi=phi, geom='path',colour='557799')+ theme(panel.background=element_rect(fill = 'black') ) gg3D包的不足:
END |
|