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效果