美文网首页
2021-04-17 R 图形初阶

2021-04-17 R 图形初阶

作者: 学习生信的小兔子 | 来源:发表于2021-04-17 21:01 被阅读0次

R语言--图形初阶

第一个例子

dev.off()
pdf('my_firstgraph')
attach(mtcars)
plot(wt,mpg) #plot后面第一个参数是横坐标
abline(lm(mpg~wt))
title('Regression of MPG on Weight')
detach(mtacrs)
image-20210417081643587

第二个例子

rm(list=ls())
dose  <- c(20, 30, 40, 45, 60)
drugA <- c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
par(mfrow=c(1,2))
plot(dose,drugA)
title("relations between dose and drug")
plot(dose,drugA,type='b')
lines(dose,drugB,type='b')#再添加一条线
title("relations between dose and drug")

图形参数

method

#方法一
rm(list=ls())
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 = T)
par(lty=2,pch=17)  #lty改变线类型 pch改变符号类型
plot(dose,drugA,type='b')
par(opar)
#方法二
plot(dose,drugA,type='b',lyt=3,pch=20)

符号参数

                                                           指定符号和线条类型的参数 P48
参数 描述
pch 改变符号类型
cex 指定符号的大小
lty 指定线条的类型 1~6
lwd 指定线条的宽度 #默认为1
par(mfrow=c(1,3))
plot(dose,drugA,type='b',lyt=3,pch=20,cex=1.5,lwd=4)
plot(dose,drugA,type='b',lyt=3,pch=20,cex=0.5,lwd=2)
plot(dose,drugA,type='b',lyt=3,pch=20,cex=0.85,lwd=2.5)
image-20210417095525432

颜色

col  默认的绘图颜色(就是图形颜色,比如上面的符号与线条)
col.axis  坐标轴刻度文字的颜色(一般就是那些数字)
col.lab   坐标轴标题的颜色
col.main  标题颜色
col.sub   副标题颜色
fg  图形前景色(轴和框的颜色)
bg  图形背景色
#可以直接用基本颜色英文表示,也支持十六进制,RGB等等
col="red"
colors()    #可返回所有可用颜色的名称,下面的网站可以查看具体所对应的颜色
# http://www.docin.com/p-1491680339.html
rainbow(3)    #可以返回指定数目的“彩虹型”颜色
#[1] "#FF0000FF" "#00FF00FF" "#0000FFFF"
#R包RColorBrewer可以创建出吸引人的颜色配对
library(RColorBrewer)
mycolors <- brewer.pal(5, "Set1")  #从Set1中抽取5中颜色
barplot(rep(1,10), col=mycolors)  #循环重复
image-20210417100941239

文本参数

文本大小参数

cex.axis 为数值,表倍数
cex.lab
cex.main
cex.sub
#### 字体参数
font.axis 1=常规,2=粗体,3=斜体,4=粗斜体,5=符号字体
font.lab
font.main
font.sub

尺寸

pin 以英寸表示的图形尺寸,宽和高
mai 表图的四周的宽大小,顺序为下,左,上,右;单位为英寸
mar 同上,单位为英分。1英分=1/12英寸=0.21厘米

终合实例

opar <- par(no.readonly = T)
par(pin=c(2,3))
par(lwd=2,cex=1.5)
par(cex.axis=0.75,font.axis=2)
par(mfrow=c(1,2))
plot(dose,drugA,type='b',pch=0,lty=2,col='red',bg='blue',fg='green')
plot(dose,drugA,type='b',pch=23,lty=6,col='red',bg='blue',fg='yellow')
par(opar)
image-20210417103517579

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

par(pin=c(3,3))
plot(dose,drugA,type='b',
     col='red',lwd=2,lty=2,pch=2,
     main='Clinical Trials for Drug A',col.main='red',
     sub = 'This is hypothetical data',col.sub='green',
     xlab='Dosage',ylab='Drug Reponse',col.lab='blue',
     xlim = c(0,60),ylim=c(0,70)) 
image-20210417105258546
#添加标题
#title()函数
title(main="主标题",sub="副标题",xlab="x轴标题",ylab="y轴标题")
#同时可以参考上述参数进行细节修改
#添加次要刻度线
library(Hmisc)
minor.tick(nx=2,ny=3,tick.ratio=0.5)
#意为在x轴的的每两条主刻度线间添加一条次要刻度线(分成2段)
#y添加两条,分成3段。大小为主刻度的0.5倍。
添加参考线
abline(h=c(1,5,7))     #添加水平参考线
abline(v=c(2,5),lty=2,col="blue")  #添加蓝色的垂直虚线
##添加图例
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='Drug A vs Drug B',
     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=.02,
              title = "Drug Type",  
              c("A","B"),cex=0.7,bty="n", lty = c(2,6),pch = c(19,23),col=c("red","blue"),text.width=0.5
       ) #去掉边框bty="n"   #调整图例大小cex=0.7
par(opar)
image image-20210417114339723

文本标注

通过函数text()和mtext()将文本添加到图形上

text()向绘图区域内部添加文本

mtext()向图形的四个边界之一添加文本

                                                  函数text()和mtext()的选项
选项 描述
location 文本的位置参数
pos 文本相对于未知参数的方位
side 指定用来放置文本的边 1=下,2=左,3=上,4=右
attach(mtcars)
colnames(mtcars)
plot(wt,mpg,
     main='Mileage vs. Car Weight',
     xlab = 'Weight',ylab = 'Mileage',
     pch=16,col='blue')
text(wt,mpg,
     row.names(mtcars),
     cex = 0.6,pos=4,col ='red')
detach(mtcars)
image-20210417203702726

多幅图显示在一起/拼图

#mfrow=c() 函数,默认 mfrow=c(1,1)
opar <- par(no.readonly=TRUE)
par(mfrow=c(2,3)) #按行填充,行数为2,列数为3的图形矩阵
par(mfcol=c(2,3)) #按列填充
#layout() 函数,可以设置“品”字形的图形矩阵
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),widths=c(3,1),heights=c(1,2))  
par(opar)
#第一幅图被置于第一行,另两幅图被放在第二行。
#第一行图形高度是第二行的1/2,右下图宽度是左下宽度的1/3

图形布局的精细调整

opar <- par(no.readonly=TRUE)
par(fig=c(0,0.8,0,0.8))
plot(mtcars$wt,mtcars$mpg,col='blue',
     xlab="Miles Per Gallon",
     ylab="Car Weight",col.lab='red')
par(fig=c(0,0.8,0.55,1),new=TRUE)
# new=TRUE 很关键的参数,表示在原有图上加图
hist(mtcars$wt,main = "",xlab = "",col='green',col.lab='yellow',labels = T,ylim=c(0, 10)) 
par(fig=c(0.55,1,0,0.8),new=TRUE)
boxplot(mtcars$mpg,axes=F,col = 'orange')
mtext("Enhanced Scatterplot",side=3,outer = TRUE,line=-3,col='red')
par(opar)
dev.off()
image-20210417205748430

本文参考:https://www.jianshu.com/p/89692f3b558c 侵删~

相关文章

  • 2021-04-17 R 图形初阶

    R语言--图形初阶 第一个例子 第二个例子 图形参数 method 符号参数 参数描述pch改变符号类型cex指定...

  • R语言实战 第三章 图形初阶 3.4-3.5

    来自 R语言实战 第三章 图形初阶 示例代码#####################第三章 图形初阶######...

  • R语言实战 第三章 图形初阶 3.1-3.3

    来自 R语言实战 第三章 图形初阶 示例代码#####################第三章 图形初阶######...

  • R语言实战__第3章 图形初阶

    第3章 图形初阶 3.1 使用图形 R可以在交互式对话总,通过逐条输入语句构建图形,逐渐完善图形特征,直至得到想要...

  • R语言实战_图形初阶

    图形初阶 使用图形 R是一个惊艳的图形构建平台。这里我特意使用了“构建”一词。在通常的交互式会话中,你可以通过逐条...

  • 【R实战 入门】三、图形初阶

    一图胜千言。 这里是佳奥!终于到了我最期待的图形初阶篇。 本篇我们将学习如何创建和保存图形,并关注于图形的一些特征...

  • R语言实战-3图形初阶

    今天状态不好,但是学习R语言,貌似就是对着书本瞧瞧代码,瞧瞧代码,很适合打发时间,出来图形时候的微微成就感还是很有...

  • R语言实战—03图形初阶

    3.1 使用图形 使用代码保存图形:保存为PDF—pdf(filename),其它格式:win.metafile(...

  • R语言实战04-图形初阶

    今天我们来的学习创建和保存图形以及图形参数; 1、创建和保存图形 附图 除了pdf(), 还有win.metafi...

  • R数据可视化|图形初阶(上)

    在生物信息学中常常会用到R语言来绘制图形以实现数据可视化,本文主要通过plot( )高级绘图函数来介绍R语言绘图的...

网友评论

      本文标题:2021-04-17 R 图形初阶

      本文链接:https://www.haomeiwen.com/subject/vsyplltx.html