首页 > 解决方案 > 从基图中的图中仅删除边 3 和边 4

问题描述

我想仅删除基本图中的图的顶部(第 3 侧)和右侧(第 4 侧)边界。我能找到的所有建议都要求设置

axis = F

但是,我不得不重新绘制 x 和 y 轴并手动添加标签。有没有更直接的方法来要求 R 根本不在基础图中绘制第 3 面和第 4 面?

标签: rplot

解决方案


图周围的“框”是与轴分开的图形元素,因此可能很难弄清楚,因为您可以完全省略轴,但仍然有一个可见的框。盒子的存在和形状由bty(或“盒子类型”)图形参数决定,您可以在绘图调用中设置它或使用全局par()图形参数函数

有几个允许的值bty:“o”(默认值)、“l”、“7”、“c”、“u”、“]”或“[”。这些对应于盒子的形状,所以你必须从字面上理解它们。“n” 抑制框。

# create some data
set.seed(1)
n <- 100
x <- rnorm(n)
y <- rnorm(n)

# demonstrate values of `par`
## with axes
layout(matrix(1:8, nrow = 2, byrow = TRUE))
lapply(c("o", "l", "7", "c", "u", "[", "]", "n"), function(arg) {
  plot(x, y, bty = arg, main = sprintf("bty = '%s'", arg))
})

带有轴的 'bty' 示例

## without axes
dev.off()
layout(matrix(1:8, nrow = 2, byrow = TRUE))
lapply(c("o", "l", "7", "c", "u", "[", "]", "n"), function(arg) {
  plot(x, y, bty = arg, main = sprintf("bty = '%s'", arg), xaxt = "n", yaxt = "n")
})

不带坐标轴的 'bty' 示例


推荐阅读