R 是一个很强大的画图工具。
首先绑定数据,然后画出散点图, 第四行向图片中加入一条最优拟合曲线, 第五行加入图片标题。
attach(mtcars)
head(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title ("First Chart")
detach(mtcars)
如果想要保存图片可以使用函数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 中可以通过颜色下标,颜色名称,十六进制的颜色值, RGB 值, HSV 值来指定颜色。 例如下面写法均代表白色
col=1/col="white"/col="#FFFFFF"/col=rgb(1,1,1)/col=hsv(0,0,1)
字体
图形尺寸,便捷大小:
示例:
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" )
对坐标轴已经标题修改:
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()对标题以及坐标轴进行详细的设置
参考线:
abline(v=c(1,100,20), h=c(1,100,20), col="blue“) 在x轴、y轴 10,30,50,90添加蓝色实线。
Legend():
legend(location , title , legend ,...)
添加注释:
text(),mtext()
例子:
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 中我们可以使用函数 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)