R 基本图形:自定义分组数据中的轴标签

R base graphics: customizing axis labels in grouped data

df <- data.frame(g1=c('A', 'A', 'B', 'B'),
                 g2=c('a', 'b', 'a', 'b'),
                 v1=1:4,
                 v2=4:1)

我正在尝试做这样的事情,其中​​两个 "group" 变量 g1g2 以下面指示的自定义方式标记 - 注意小 space两组之间。我意识到,如果 x 轴从 0 到 10,那么我们在 2、4、7 和 9(或多或少)处有 a、b、a 和 b,在 3 和 8 处有 A 和 B。但这怎么可能在调用 axis()text() 时指定?我想在 base R 中做这个。

一种方法是

df <- data.frame(g1=c('A', 'A', 'B', 'B'),
                 g2=c('a', 'b', 'a', 'b'),
                 v1=1:4,
                 v2=4:1)
plot(df$v1, df$v1, xaxt = 'n', pch = 15)
points(df$v2, df$v1, pch = 13)
axis(1, at = df$v1, labels = df$g2)
axis(1, at = c(1.5, 3.5), labels = unique(df$g1), line = 1, tick = F)