Rplot函数图形参数设置

本博文源于R语言基础,旨在研究R中plot函数图形参数如何修改。要想讲清楚这个问题,那就首先用一个例子引入

例子:采用图形描述病人对两种药物五个剂量水平上的响应情况

在这里插入图片描述

首次绘图的plot

> dose <- c(20,30,40,45,60)
> drugA <- c(16,20,27,40,60)
> drugB <- c(15,18,25,31,40)
> plot(dose,drugA,type='b')

在这里插入图片描述
这是我们初级版本画的图形,如果想要给图形加上修饰,往下面翻阅,不断地图形参数做出调整就能画出花里胡哨的图片了。

符号和线条

指定符号和线条类型的参数
在这里插入图片描述
其中pch参数
在这里插入图片描述
其中lty参数
在这里插入图片描述
根据所知道的,加上上面的R代码,我们可以画出这样的图:

例子:画出lty=2,pch=17的图

在这里插入图片描述

plot(dose,drugA,type='b',lty=2,pch=17)

颜色

指定颜色的含义就是我们想要我们的图形和修饰是什么颜色。参数如下
在这里插入图片描述
但是我们如何表达出我想要表达出颜色呢?就是采用较为常见的颜色方式,比如:十六进制的颜色值或者RGB或者HSV,下面罗列一二:

  • col = “white”
  • col = “#FFFFFF”
  • col = rgb(1,1,1)
  • col = hsv(0,1,1)

例子:将绘图的颜色改为蓝色

在这里插入图片描述

plot(dose,drugA,type='b',lty=2,pch=17,col='blue')

文本属性

这个就是用来指定字号、字体和字样。用于控制文本大小的参数。

参数描述
cex表示相对于默认大小缩放倍数的数值。默认大小为1,1.5表示放大默认值的1.5,0.5就是缩小为默认值的50%.等等
cex,axis坐标轴刻度文字的缩放倍数,作用类似于cex
cex.lab坐标轴标签(名称)的缩放倍数,类似于cex
cex.main标题的缩放倍数。类似于cex
cex.sub副标题的缩放倍数。类似于cex

谈到文本,字体也不例外
在这里插入图片描述

例子:请将坐标轴标签名称放大1.5倍,字体样式为粗斜体

在这里插入图片描述

 plot(dose,drugA,type='b',cex.lab=1.5,font.main=4)

图形尺寸和边界尺寸

这个参数限制图形的宽高,也都有参数可以设定。
在这里插入图片描述

例子:绘出宽4英寸和高3英寸的图形

在这里插入图片描述

plot(dose,drugA,type='b',pin=c(4,3))

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

大家有了上面的基础,然后只需要知道什么写进参数就行了。下面的参数就是添加标题、副标题、坐标轴标题、坐标轴范围:

参数含义
main标题
sub副标题
xlabx坐标标题设置
ylaby坐标轴标题设置
xlimx坐标轴范围
ylimy坐标轴范围

例子:请绘出标题“Clinical Trials for DrugA”,副标题“This is hypothetical data”x坐标标题为“Dosage”,y坐标标题为“Drug Response”,x轴范围(0,60),y轴范围(0,70)

在这里插入图片描述

> plot(dose,drugA,type='b',main="Clinical Trials for DrugA",sub="This is hypothetical data",xlab="Dosage",ylab="Drug Response",xlim=c(0,60),ylim = c(0.,70))

标题

与上面在plot函数设置为,也可以专门用title添加,参数与上面<添加文本>小节类似

例子:请添加标题“Clinical Trial for DrugB”

在这里插入图片描述
博主的图形刚才在绘制图形出现了重合,不知道大家有没有,出现重合不要着急,重新使用plot绘制没有标题的图形,然后用title加上标题。

title(main="Clinical Trial for DrugB")

坐标轴

坐标轴当然可以自己设置甚至自己定义。函数如下:

axis(.....)

在这里插入图片描述

例子:自定义坐标轴,绘出下图的图形

在这里插入图片描述

> 
> x <- c(1:10)
> y <- x
> z <- 10/x
> opar <- par(no.readonly = TRUE)
> par(mar=c(5,4,4,8)+0.1)
> plot(x,y,type='b',pch=21,col='red',yaxt="n",lty=3,ann=FALSE)
> lines(x,z,type='b',pch=22,col="blue",lty=2)
> axis(2,at=x,labels = x,col.axis="red",las=2)

参考线

这里的参考线就相当于在原有的基础上增加线,R中用abline实现

abline(h=yvalues,v=xvalues)

例子:请在原图形上增加y=1,2,3的参考线

在这里插入图片描述

abline(h=c(1,2,3))

图例

所谓的图例就是指当多条图形在一张图形上面,我们为其增加设置便以区分。函数legend()

legend(location,title,legend,...)

在这里插入图片描述

例子:利用图例,请绘出此类图形

dose <- c(20,30,40,45,60)
> drugA <- c(16,20,27,40,60)
> drugB <- c(15,18,25,31,40)
> opar <- par(no.readonly = TRUE)
> par(lwd=2,cex=1.5,font.lab=2)
> plot(dose,drugA,type="b",pch=15,lty=1,col="red",ylim=c(0,60),main="DrugA vs. DrugB",xlab="Drug Dosage",ylab="Drug Response")
> lines(dose,drugB,type='b',pch=17,lty=2,col='blue')
> abline(h=c(30),lwd=1.5,lty=2,col='gray')
> legend('topleft',inset=.05,title = "Drug Type",c('A','B'),lty=c(1,2),pch=c(15,17),col=c('red','blue'))
> library(Hmisc)
> minor.tick(nx=3,ny=3,tick.ratio = 0.5)
> par(opar)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值