前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言基础绘图教程——第8章:3维散点图

R语言基础绘图教程——第8章:3维散点图

作者头像
DoubleHelix
发布2019-08-23 14:17:24
3K0
发布2019-08-23 14:17:24
举报
文章被收录于专栏:生物信息云生物信息云
读入数据
代码语言:javascript
复制
dat0=read.table("3d_scatter_plot.txt",header=TRUE,sep="\t")
head(dat0)
dat1 = dat0[,-1]
rownames(dat1) = dat0[,1]
color = c(rep('red',3),rep('orange',3),rep('blue',3))

scatterplot3d包绘制3维散点图

代码语言:javascript
复制
#draw 3d plot--1
library(rgl)
plot3d(dat1)
#调整
plot3d(dat1,col=color,
       type="s",radius=0.03,
       grid=50L,pch=16)
代码语言:javascript
复制
#draw 3d plot--2
library(scatterplot3d)
scatterplot3d(dat1)
#调整
scatterplot3d(dat1,main='3D plot',color=color,type='p',
              highlight.3d=F,angle=60,grid=T,box=T,scale.y=1,
              cex.symbols=1.2,pch=16,col.grid='lightblue')
legend("topright",c('Control','Drug','Surgery'),fill=c('red','orange','blue'),box.col="grey")

有时候不知道角度,可以一次绘制多个,选择你觉得合适的图,下面代码会产生一个pdf文件。可以从里面选择最优的一个。

代码语言:javascript
复制
#调整角度,保存
pdf('3d_scatter_plot.pdf',onefile=TRUE,width=8,height=8)
diffangle <- function(ang){
  scatterplot3d(dat1,main='3D plot',color=color,type='p',
                highlight.3d=F,angle=ang,grid=T,box=T,scale.y=1,
                cex.symbols=1.2,pch=16,col.grid='lightblue')
  legend("topright",c('Control','Drug','Surgery'),fill=c('red','orange','blue'),box.col="grey")
}

#Produce a figure when the angle rotates
sapply(seq(-360,360,2),diffangle)
dev.off()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MedBioInfoCloud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • scatterplot3d包绘制3维散点图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档