本文章大部分内容参照自:https://blog.csdn.net/Clairezwj/article/details/81134814
> 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")
注: 该例中plot()
的第3个参数type="b"
是指定所画的图既有圆点,又有线段连接。
opar = par(no.readonly=TRUE)
,下次想让par()
回复初始默认参数值,只需执行命令par(opar )
opar = par(no.readonly=TRUE)
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")
注: par(lty=2,pch=17)
中的各参数也可以直接写在plot()
中,如:plot(dose, drug_a, type="b", lty=2, pch=17)
。
参数pch=用于指定绘制点时使用的符号,可能的取值范围如下:
注: 在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) #坐标轴的文本大小是是默认值的0.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="药物A的反应曲线", ## main是主标题
sub="这是一个测试数据", ## main是副标题
xlab="剂量", ylab="病人的反应", ## x和y轴的名称
xlim=c(0,60), ylim = c(0,70)) #指定x和y轴的刻度
另一种方式
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", #对y轴的刻度暂时禁用,等会再自定义
lty=3, #线条类型
ann = FALSE) #让x和y轴的名称先不显示,等会再自定义
axis(2, #为2表示在图形左边绘制坐标轴刻度
at=y, #用y这个向量的值作为坐标轴刻度
labels=c(1:10), #坐标轴刻度的值,在本例中也可直接写成labels=x
col.axis="blue", #坐标轴的颜色是蓝色
las=2) #坐标轴的刻度垂直与坐标轴
lines(x, z, type="b", pch=22, col="green", lty=2) #lines()是添加一条新的线
axis(4, at=z, labels = round(z, digits = 2), col.axis="black", las=2, cex.axis=.7) #设置新添加的线的坐标轴信息
title(main="坐标轴的例子",xlab="x轴",ylab="y轴") #设置图的名字及各轴的名字
参考线:
abline(v=c(1,100,20), h=c(1,100,20), col="blue“)
在x轴、y轴 10,30,50,90添加蓝色实线。
legend(location , title , legend ,...)
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")