3、图形初阶-r

1、使用图像

		#引言
		
		#3.1使用图形
		#(1)交互
		dt<-matcars
		
		#指定哪一张表
		attach(mtcars)#加入搜索路径
		
		plot(wt,mpg)#画散点图
		
		title("6666")#加标题
		
		abline(lm(mpg~wt))#做拟合直线
		
		detach(mtcars)#从默认的搜索路径中删除,避免影响其它程序
		
		#(2)图像的保存
		#pdf("abc.pdf")#图像的保存
		jpeg("abc.jpeg")
		
		dt<-matcars
		
		#指定哪一张表
		
		attach(mtcars)#加入搜索路径
		
		plot(wt,mpg)#画散点图
		
		title("6666")#加标题
		
		abline(lm(mpg~wt))#做拟合直线
		
		detach(mtcars)#从默认的搜索路径中删除,避免影响其它程序
		
		dev.off()
		
		#(3)新窗口
		
		
		#指定哪一张表
		attach(mtcars)#加入搜索路径
		
		dev.new()#加入新窗口
		
		plot(wt,mpg)#画散点图
		
		title("6666")#加标题
		
		abline(lm(mpg~wt))#做拟合直线
		
		detach(mtcars)#从默认的搜索路径中删除,避免影响其它程序

2、一个简单的例子

	#3.2一个简单的例子
	#(1)数据的输入
	dose<-c(20,30,40,45,60)
	
	drugA<-c(16,20,27,40,60)
	
	drugB<-c(15,18,25,31,41)
	
	#(2)点线图绘制
	
	plot(dose,drugA)#散点图
	plot(dose,drugA,type="b")#同时绘制点和折线

3、图形参数

	#3.3图形参数
	#(1)全局图形参数与局部图形参数
	#局部图形参数:只在一行语句内起效果
	plot(dose,drugA,type = "b",lty=2,pch=17)#lty是虚线,pch使得圆点变成三角
	
	#全局图形参数:所有语句都是这种画法
	plot(dose,drugA,type="b")
	
	opar<-par(no.readonly = TRUE)#用来保存当前图形参数为了后面还原
	
	par(lty=2,pch=17)#设置全局参数
	
	plot(dose,drugA,type="b")
	
	par(opar)#恢复原来的图形参数
	
	plot(dose,drugA,type="b")
	
	#(2)符号和线条
	plot(dose,drugA,type="b",lwd=5)#lwd线条变成5倍
	plot(dose,drugA,type="b",cex=4)#标识变大
	
	#(3)颜色
	plot(dose,drugA,type="b",col=2)#线条颜色
	plot(dose,drugA,type="b",col.axis=2)#坐标轴颜色
	
	#(4)文本属性
	
	plot(dose,drugA,type="b",cex.lab=5)#字体:标签大小
	plot(dose,drugA,type="b",font.lab=3)#字体:斜体
	
	#(5)尺寸
	dev.new()
	par(mai=c(.1,.1,.1,.1))#设置页边距
	plot(dose,drugA,type = "b",cex.lab=1.5,font.lab=3)

4、添加文本、自定义坐标轴和图例

1、添加文本

	#3.4.1标题的修改
	dose<-c(20,30,40,45,60)
	
	drugA<-c(16,20,27,40,60)
	
	drugB<-c(15,18,25,31,41)
	
	#方法一:合起来写
	plot(dose,drugA,type = "b",col="red",lty=2,pch=2,lwd=2,
	     main="这是标题",
	     sub="这是副标题",
	     xlab="x轴",ylab="y轴",
	     xlim=c(0,60),ylim=c(0,70))
	
	#方法二:图和标题分开写
	plot(dose,drugA,type = "b",col="red",lty=2,pch=2,lwd=2)
	title(main="这是标题",
	      sub="副标题",
	      col.main="red",
	      col.sub="blue",
	      )

2、坐标轴

	#3.4.2坐标轴的修改
	x<-c(1:10)
	y<-x
	z<-10/x
	
	#把原始格式先保存
	opar<-par(no.readonly = TRUE)
	
	#1)先画出图形并清除格式
	plot(x,y,type = "b",
	     pch=21,col="red",
	     yaxt="n",lty=3,ann=FALSE)#yaxt、ann将可能存在的标题给抑制掉
	
	lines(x,z,type = "b",pch=22,col="blue",lty=2)#绘制x与y的关系
	#2)添加坐标轴
	axis(2,at=x,labels=x,col.axis="red",las=2)#添加刻度及颜色
	axis(4,at=z,label=round(z,digits=2),col.axis="blue",las=2,cex.axis=0.7,tck=-.01)
	mtext("y=1/x",side=3,line=3,cex.lab=1,las=0,col="blue")
	title("An EXAMPLE",xlab="my xx",ylab="my yy")
	abline(h=c(1,5,7))#加参考线
	abline(v=seq(1,10,2),lty=2,col="blue")#加参考线
	#恢复原始格式参数
	par(opar)

3、添加图例

	#添加图例
	#1)添加数据
	dose<-c(20,30,40,45,60)
	
	drugA<-c(16,20,27,40,60)
	
	drugB<-c(15,18,25,31,41)
	
	#2)设置全局参数
	
	par(lwd=2,cex=1,font.lab=2)
	
	#3)画图
	
	plot(dose,drugA,type="b",
	     pch=15,lty=1,col="red",
	     main="Drug A vs. Drug B",
	     xlab="Drug Dosage",ylab="Drug Response")
	lines(dose,drugB,type="b",
	      pch=17,lty=2,col="blue")
	
	#4)添加参考线
	abline(h=c(30),col="gray",lwd=1.5,lty=2)
	
	#5)图例
	legend("topleft",inset=.05,title="Drug Type",cex=0.4,c("A","B"),
	       lty=c(1,2),pch=c(15,17),col=c("red","blue"))#在左边开始的5%放置图例

4、如何在图上面添加文本

	#3.4.5文本的标注
	
	dt<-mtcars
	attach(mtcars)
	plot(wt,mpg,main="vsvs",xlab="weight",ylab="mileage",
	     pch=18,col="blue")
	#文本标注(对对应的点进行标注)
	text(wt,mpg,row.names(mtcars),cex=0.5,pos=4,col="red")

5、图形的组合

	#3.5图形的组合
	#1.par(mfrow())的用法
	#将画布划分为几行几列
	attach(mtcars)
	opar<-par(no.readonly = TRUE)
	par(mfrow=c(2,2))#将画布分成两行两列
	plot(wt,mpg,main="pic 1")
	plot(wt,disp,main="pic 2")
	hist(wt,main="pic 3")
	boxplot(wt,main="pic 4")
	par(opar)
	detach(mtcars)
	
	#2.layout(matrix)的用法:相较于上一个函数划分的更加的精细了
	attach(mtcars)
	opar<-par(no.readonly = TRUE)
	#2,2分成两行两列
	#c(1,1,2,3)在1,2区域放1号图,在3号区域放2号图
	#按照行进行排列
	layout(matrix(c(2,3,1,1),2,2,byrow = TRUE))
	hist(wt)
	hist(mpg)
	hist(disp)
	
	par(opar)
	detach(mtcars)
	
	#3.par(fig())的用法:更加地精细
	attach(mtcars)
	opar<-par(no.readonly = TRUE)
	par(fig=c(0,0.8,0,0.8))#在图的横轴的0到80%画图,纵轴的0到80%画图
	plot(wt,mpg)
	par(fig=c(0,0.8,0.5,1),new=TRUE)#在图的横轴的0到80%画图,纵轴的0到80%画图
	boxplot(wt,horizontal = TRUE,axes=FALSE)
	
	par(fig=c(0.65,1,0,0.8),new=TRUE)
	boxplot(mpg,axes=FALSE)
	
	par(opar)
	detach(mtcars)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值