R语言制作图(次要刻度线、参考线、图例、文本标注)

一、次要刻度线、参考线

  • 下载包
install.packages("Hmisc")  # 下载包
library(Hmisc)  # 导入包,使用前需要导入包
  • minor.tick:次要刻度线
plot(1:4, 1:4, type="b")  # 简单制作图
minor.tick(nx=3, ny=2, tick.ratio = 0.5)  # 使用minor.tick,nx:x轴每一个格分为3个小格,ny:y轴每一个格分为2个小格
									  # tick.ratio:次刻度线长度
  • abline:参考线
plot(1:4, 1:4, type="b")
minor.tick(nx=3, ny=2, tick.ratio = 0.5)
abline(h=2, col="red", lty=2)  # 使用abline,h:对x轴的指定值进行垂直,col:参考线颜色,lty:参考线线条类型
abline(v=2, col="red", lty=2)  # 使用abline,v:对y轴的指定值进行垂直,col:参考线颜色,lty:参考线线条类型

# 多图合并
dose <- c(20, 30, 40, 50, 60)
drugA <- c(16, 20, 27, 33, 50)
drugB <- c(15, 22, 26, 36, 52)
opar <- par(no.readonly = TRUE)  # 将所有默认参数保存在一个opar向量中
par(lwd=2, cex=0.7, font.lab=2)  # 设置参数
plot(dose, drugA, type="b", pch=20, lty=2, col="red", yilm=c(0, 60), main = "药物a反应和药物b反应", xlab="剂量", ylab="药物反应")
lines(dose, drugB, type="b", pch=20, lty=2, col="blue")  # 在上图进行加一个图
minor.tick(nx=5, ny=2, tick.ratio = .5)  # 设置刻度线
par(opar)  # 恢复参数

二、图例、文本标注

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SxqPPQ8J-1620140133390)(D:\大数据专业工具存放\Typora\Typora图片存放\image-20210426170930250.png)]
  • legend:图例
# 例子图
dose <- c(20, 30, 40, 50, 60)
drugA <- c(16, 20, 27, 33, 50)
 drugB <- c(15, 22, 26, 36, 52)
 opar <- par(no.readonly = TRUE) # 将所有默认参数保存在一个opar向量中
 par(lwd=2, cex=0.7, font.lab=2) # 设置参数
 plot(dose, drugA, type=“b”, pch=20, lty=2, col=“red”, yilm=c(0, 60), main = “药物a反应和药物b反应”, xlab=“剂量”, ylab=“药物反应”)
 lines(dose, drugB, type=“b”, pch=20, lty=2, col=“blue”) # 在上图进行加一个图
 minor.tick(nx=5, ny=2, tick.ratio = .5) # 设置刻度线
 par(opar) # 恢复参数

设置图例

legend(“topright”, inset=.03, title=“类型”, legend=c(“A”, “B”), lty=c(2,2), pch=c(20, 20), col=c(“red”, “blue”))
# 使用legend, topright:右上角(可修改),inset:图例距离边框距离,legend:图例名字
# 其他参数必须按图形顺序来,必须和图形的类型一样

- ![image-20210426174403055](D:\大数据专业工具存放\Typora\Typora图片存放\image-20210426174403055.png)

- text:文本标注

```R
attach(mtcars)  # 将mtcars的列数据、行数据加载到r路径中,可以直接输入数据框的列名便可得到列所有数据
head(mtcars)  # 输出前6行
plot(wt, mpg, main="车重和耗油的关系", xlab="车重", ylab="耗油量", pch=18, col="red" )
text(wt, mpg, row.names(mtcars), cex=0.9, pos=4, col="red")
# 通过x、y值知道每个点的位置,row.name:获取每行的行名,cex:获取的行文字字体大小,pos:1=下、2=左、3=上、4=右,col:文字颜色
detach(mtcars)  # 解除detach效果

字体大小,pos:1=下、2=左、3=上、4=右,col:文字颜色
detach(mtcars) # 解除detach效果