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" 变量 g1
和 g2
以下面指示的自定义方式标记 - 注意小 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)
df <- data.frame(g1=c('A', 'A', 'B', 'B'),
g2=c('a', 'b', 'a', 'b'),
v1=1:4,
v2=4:1)
我正在尝试做这样的事情,其中两个 "group" 变量 g1
和 g2
以下面指示的自定义方式标记 - 注意小 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)