R语言绘图有多种方法和相关知识,以下是详细介绍:
### 基本绘图元素
- **绘制点**:可以使用`plot()`函数绘制底图,再用`points()`函数添加点,还能通过参数更改点的图标、颜色和大小。示例代码如下:
```R
plot(5, xlim=c(0,10), ylim=c(0,10), type="n") # 绘制底图
points(6,5) # 添加点
points(5,5, pch=15) # 更改点的图标
points(4,5, pch=15, col="green") # 更改点的颜色
points(3,5, pch=15, col="green", cex=3) # 更改点的大小
data=data.frame(x=1:10, y=runif(10,1,10)) # 产生数据框数据
points(data$x,data$y, pch=17, col="red", cex=3) # 添加多个点
points(data$x,data$y, pch=24, col="red", bg="yellow", cex=1.5)
```
### 绘图函数通用参数
绘图函数有一些通用参数,包括`main`(图像标题)、`xlim`和`ylim`(x/y轴的范围)、`xlab`和`ylab`(x/y的标签名称)、`col`(表示颜色列表,可在饼图和条形图中使用)、`add`(当为`TRUE`时,将在现有图像上绘制)[^2]。
### 绘制复杂图形
可以先绘制一个图形,再在其上添加其他元素,如线条、图例等。示例代码如下:
```R
x <- c(1:10)
y <- x
z <- 10/x
opar <- par(no.readonly=TRUE) # make a copy of current settings
par(mar=c(5, 4, 4, 8) + 0.1)
plot(x, y, type="b", pch=21, col="red", yaxt="n", lty=3, ann=FALSE) # yaxt指y轴类型,“n”指阻止y轴画出,ann指注释,此处为了下方自己添加,所以都去掉了
lines(x, z, type="b", pch=22, col="blue", lty=2)
axis(2, at=x, labels=x, col.axis="red", las=2) # 坐标轴另一种加法
axis(4, at=z, labels=round(z, digits=2), col.axis="blue", las=2, cex.axis=0.7, tck=-.01)
mtext("y=1/x", side=4, line=3, cex.lab=1, las=2, col="blue")
title("An Example of Creative Axes", xlab="X values", ylab="Y=X")
library(Hmisc)
minor.tick(nx=3, ny=3, tick.ratio=0.005) # 自己加一些小的刻度线
legend("topleft", inset=.005, title="Drug Type", c("A","B"), lty=c(1, 2), pch=c(15, 17), col=c("red", "blue"))
par(opar)
```
### 添加文本
函数`text()`和`mtext()`可将文本添加到图形上。`text()`可向绘图区域内部添加文本,而`mtext()`则向图形的四个边界之一添加文本,使用格式分别为:
```R
text(location, "text to place", pos, ...)
mtext("text to place", side, line=n, ...)
```
### 绘制柱状图
常规R用的`barplot`输入格式是一个二维矩阵,例如要查看`E1`样品中`Akkermansia`这个菌的丰度,需要在第一行找到`E1`,然后在第一列找到`Akkermansia`,两者的交点即是所要找的丰度[^4]。