R基础--画图

R 是一个很强大的画图工具。

例子:画一个简单的图:

首先绑定数据,然后画出散点图, 第四行向图片中加入一条最优拟合曲线, 第五行加入图片标题。

attach(mtcars)
head(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title ("First Chart")
detach(mtcars)

R基础--画图_第1张图片

如果想要保存图片可以使用函数pdf("My First Chart.pdf"), 还可以保存其他格式 , 比如png(), jpeg(),bmp() etc. 后面要加关闭目标图形设备语句:dev.off()

执行plot(), hist(), boxplot() 这样的高级绘图命令来创建一幅新图形的时候,通常会覆盖掉之前的图形, 可以在创建图形之前先打开一个图形窗口。用函数 dev.new() 创建一个新的图形窗口,然后在生成图片即可。

 

图形参数:

图形参数可以通过 par()函数来设置:以这种方式设定的参数除非被再次修改,否则将会在会话结束前一直有效。

调用格式为: par(optionname=value , optionname=name,...)

###1.
dose<- c(20,30,40,45,60)
drug_a<- c(16,20,27,40,60)
drug_b <- c(15,18,25,31,40)
par(lty=2,pch=17) ##线条类型为虚线lty=2,点符号为实心三角形pch=17
plot(dose, drug_a, type="b")

##2.
dose<- c(20,30,40,45,60)
drug_a<- c(16,20,27,40,60)
drug_b <- c(15,18,25,31,40)
plot(dose, drug_a, type="b",lty=2,pch=17 )

R基础--画图_第2张图片

符号,线条 参数总结:

R基础--画图_第3张图片

 R基础--画图_第4张图片

 

颜色

R基础--画图_第5张图片 

 在R 中可以通过颜色下标,颜色名称,十六进制的颜色值, RGB 值, HSV 值来指定颜色。 例如下面写法均代表白色

col=1/col="white"/col="#FFFFFF"/col=rgb(1,1,1)/col=hsv(0,0,1)

 

字体  

R基础--画图_第6张图片

 

图形尺寸,便捷大小:

R基础--画图_第7张图片

 

示例: 

dev.new()
dose<- c(20,30,40,45,60)
drug_a<- c(16,20,27,40,60)
drug_b <- c(15,18,25,31,40)
par(pin=c(2,3)) ##设置图形两英寸宽, 3英寸高
par(lwd=2,cex=1.5) #线条为默认两倍,符号1.5 倍
par(cex.axis=.75, font.axis=3) #字体斜体, 缩放75%
plot(dose, drug_a,type="b",lty=2,pch=17,col="red" )

R基础--画图_第8张图片

 

对坐标轴已经标题修改:

dev.new()
plot(dose, drug_a,type="b",lty=2,pch=17,col="red", 
     main="chart1", 
     sub="sub_chart1", 
     xlab="x", ylab="y", 
     xlim=c(0,100), ylim = c(0,100))

##也可以使用 title() 、axis()对标题以及坐标轴进行详细的设置

R基础--画图_第9张图片

 

参考线:

abline(v=c(1,100,20), h=c(1,100,20), col="blue“) 在x轴、y轴 10,30,50,90添加蓝色实线。

 

Legend():

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

R基础--画图_第10张图片

 

添加注释:

text(),mtext()

R基础--画图_第11张图片

 

例子:

dev.new()
par(lwd=2, cex=1.5, font.lab=2)
axis(xlab="Does", ylab="Drug")

plot(dose, drug_a, type="b",pch=15, lty=1, col="red",
     xlim=c(20,70), ylim = c(10,70), main="Drug A VS Drug B")
lines(dose , drug_b,type="b",pch=17, lty=2,col="blue",
       xlim=c(20,70), ylim = c(10,70) )
abline(h=c(30), col="gray")

legend("topleft",inset=.05, title="Drug Type" ,c("A", "B"), col=c("red","blue"), lty=c(1,2), pch = c(15,17))
text(dose, drug_a,"A",pos=3, col="red")
text(dose, drug_b,"B",pos=4, col="blue")

R基础--画图_第12张图片

 

图形组合

在R 中我们可以使用函数 par() 或者 layout() 组合多幅图形为一幅图形:

dev.new()
attach(mtcars)
par(mfrow=c(2,2) )
plot(wt, mpg)
plot(wt, disp)
hist(wt)
boxplot(wt)
detach(mtcars)

dev.new()
attach(mtcars)
layout(matrix(c(1,2,3,3),2,2,byrow = TRUE))
plot(wt, mpg)
hist(wt)
boxplot(wt)
detach(mtcars)

dev.new()
opar=par(no.randonly=TURE)
attach(mtcars)
par(fig=c(0,0.8,0,0.8))
plot(wt, mpg)

par(fig=c(0,0.8, 0.55,1),new=TRUE)
boxplot(wt)

par(fig=c(0.65,1, 0,0.8), new=TRUE)
boxplot(mpg)
detach(mtcars)

R基础--画图_第13张图片

 

你可能感兴趣的:(R)