R语言绘图辅助函数详解
立即解锁
发布时间: 2025-09-02 01:34:06 阅读量: 9 订阅数: 11 AIGC 

# R语言绘图辅助函数详解
## 1. axis() 和 axTicks() 函数
在绘图时,我们有时需要对坐标轴进行个性化设置,`axis()` 和 `axTicks()` 函数就可以帮助我们实现这一目的。我们可以通过将 `plot()` 函数中的 `axes` 参数设置为 `FALSE`,然后使用 `axis()` 函数,还可以选择性地使用 `axTicks()` 函数来单独绘制坐标轴。
### 1.1 axis() 函数
`axis()` 函数有 16 个指定参数,以及一些来自 `par()` 的额外参数。这些参数可以分为两组,每组 8 个,下面分别介绍。
#### 1.1.1 前八个参数
| 参数 | 含义 | 取值及说明 |
| ---- | ---- | ---- |
| `side` | 坐标轴放置的位置 | 取值为 1(底部)、2(左侧)、3(顶部)、4(右侧),无默认值 |
| `at` | 刻度线的位置 | 数值向量,默认值为 `NULL`,R 会根据 `par()` 中的 `xaxp` 或 `yaxp` 决定刻度线位置 |
| `labels` | 刻度线旁的标签 | 若不是逻辑值,长度需与 `at` 相同,元素类型可以是数值、复数、原始类型或字符类型,也可以是列表。默认值为 `TRUE`,即 R 会创建“美观”的数值标签;若为 `FALSE`,则不绘制标签 |
| `tick` | 是否绘制坐标轴和刻度线 | 长度为 1 的逻辑向量,默认值为 `TRUE` |
| `line` | 坐标轴距离绘图区域的行数 | 单值数值向量,可正可负,默认值为 `NA` |
| `pos` | 坐标轴垂直方向的位置 | 单值数值向量,对于水平坐标轴(1 和 3),表示 y 坐标;对于垂直坐标轴(2 和 4),表示 x 坐标,默认值为 `NA` |
| `outer` | 是否将坐标轴绘制在外部边距 | 长度为 1 的逻辑向量,默认值为 `FALSE` |
| `font` | 坐标轴刻度标签的字体粗细 | 取值取决于当前使用的字体家族,默认值为 `NA`,使用 `par()` 中的 `font` 值 |
下面是一个使用 `side`、`at`、`labels` 和 `pos` 参数的示例代码:
```R
plot(
pop75.ordered, pop15.ordered,
axes=FALSE
)
title(
main="Example of side, at, labels, pos, & xpd",
font.main=1,
line=3
)
axis(
1,
at=c( .25, 1, 2, 3, 4, 5 ),
labels=c(NA, 1:4, NA),
pos=20,
xpd=TRUE
)
axis(
2,
at=c( 20, 30, 40, 50 ),
labels=c( NA, 30, 40, NA ),
pos=0.25,
xpd=TRUE
)
axis(
3,
at=c( 0.25, 1, 2, 3, 4, 5 ),
labels=FALSE,
pos=50,
xpd=TRUE
)
axis(
4,
at=c( 20, 30, 40, 50 ),
labels=FALSE,
pos=5,
xpd=TRUE
)
```
这个示例中,我们手动创建了坐标轴,手动分配了刻度标签名称,设置了刻度线的位置,并且允许坐标轴绘制在绘图区域之外。
#### 1.1.2 后八个参数
| 参数 | 含义 | 取值及说明 |
| ---- | ---- | ---- |
| `lty` | 坐标轴和刻度线的线型 | 取值与 `plot()` 中的 `lty` 相同,默认值为 “solid” |
| `lwd` | 坐标轴的线宽 | 取值与 `plot()` 中的 `lwd` 相同,默认值为 1 |
| `lwd.ticks` | 刻度线的线宽 | 取值与 `plot()` 中的 `lwd` 相同,默认值为 `lwd` 的值 |
| `col` | 坐标轴的颜色 | 取值与 `plot()` 中的 `col` 相同,默认值为 `NULL`,使用 `par()` 中 `fg` 关联的颜色 |
| `col.ticks` | 刻度线的颜色 | 取值与 `plot()` 中的 `col` 相同,默认值为 `NULL`,使用 `par()` 中 `fg` 关联的颜色 |
| `hadj` | 刻度标签在平行于标签阅读方向的位置调整 | 单值数值向量,取值范围为 0 到 1 或非有限值,默认值为 `NA` |
| `padj` | 刻度标签在垂直于标签阅读方向的位置调整 | 数值向量,长度大于等于 1,取值范围为 0 到 1 或非有限值,默认值为 `NA` |
| `gap.axis` | 当刻度标签太接近时停止绘制 | 单值数值向量,可正可负,默认值为 `NA` |
下面是一个设置 `lty`、`lwd`、`lwd.ticks`、`col`、`col.ticks`、`side` 和 `font` 参数的示例代码:
```R
plot(
pop75.ordered, pop15.ordered,
axes=FALSE,
xlab=""
)
title(
"Example of lty, lwd, lwd.ticks, col, col.ticks, & font",
font.main=1
)
axis(
1,
at=c( .25, 1, 2, 3, 4, 5 ),
labels=c(
rep(
"mmmmmmmmmm",
6
)
),
hadj=0.3,
padj=( 1:6 )/7,
gap.axis=-1,
line=3
)
axis(
1,
at=c( .25, 1, 2, 3, 4, 5 ),
labels=c(
rep(
"mmmmmmmmmm",
6
)
),
hadj=0.3,
padj=( 1:6 )/7,
gap.axis=-2
)
axis(
2,
at=c( 20, 30, 40, 50 ),
labels=c( 20, 30, 40, 50 ),
lty="dashed",
lwd=3,
lwd.ticks=4,
col=gray( 0.8 ),
col.ticks=gray( 0.6 ),
col.axis=gray( 0.6 ),
font=2
)
```
在这个示例中,我们可以看到不同参数设置对坐标轴和刻度线的影响。例如,第一次调用 `axis()` 时,`gap.axis` 等于 -1,允许一个 “m” 的重叠,只绘制了两个标签;第二次调用时,`gap.axis` 等于 -2,允许两个 “m” 的重叠,绘制了所有四个标签。第三次调用时,改变了坐标轴的线型
0
0
复制全文
相关推荐


