【问题标题】:in R - Omiting some values of the x-axis [duplicate]在R中-省略x轴的一些值[重复]
【发布时间】:2026-01-19 19:35:01
【问题描述】:

我想用对应的 y 值在 x 轴上绘制 180 个点。 但是 x 轴上的 180 个点使绘图/屏幕过于拥挤。 所以我想告诉 R 只在 x 轴上每隔 10 个(在我的 x 向量之外)标记一次。 有人知道怎么做吗?

代码示例:

y <- c(101:280)
x <- c(1:180)
plot (x, y)

现在 x 轴上标记了 180 个点中的每一个。我想要情节中的每一点,但只有 x 轴上写的每十分之一。 希望你知道我想说什么;-)

【问题讨论】:

  • 只有当x 是一个因子时才如此,默认值为pretty(x),它将标记0、50、100 和150。您也可以使用xaxp,请参阅?par @ 987654326@

标签: r graph


【解决方案1】:

在你的阴谋调用之后,你想使用axis

plot(x,y)
axis(side = 1, at = x[c(rep(FALSE, 9), rep(TRUE, 1))])

在这里,我通过一个逻辑向量对你的每个 x 标签进行子集化,取 9 FALSE,然后取 1 TRUE,即每十分之一。

【讨论】:

    【解决方案2】:

    第一个没有 x 轴的图

    plot(x, y, xaxt = "n")
    

    然后添加一个轴,其序列由原始数据定义

    axis(1, at = seq(min(x), max(x), by = 10))
    

    如果数字/标签太紧凑,那么 R 会减少其中的一些(如图所示)。您可以通过多种方式进行控制,包括(在新情节上):

    axis(1, at = seq(min(x), max(x), by = 10), las = 2)
    

    【讨论】: