在以下示例中,省略了最后一个x轴标签(" 4.0")。
df <- data.frame(x = c(1, 2, 3.8), y = c(1, 2, 3))
#png(filename = "cutoff.png")
plot(df$x, df$y, xaxt = "n")
axis(side = 1, at = seq(0, 4, 0.5), labels = seq(0, 4, 0.5))
#dev.off()
答案 0 :(得分:2)
您的轴限制不包括4;您需要使用xlim
覆盖绘图的默认限制(它从数据中派生):
plot(df$x, df$y, xaxt = "n", xlim = c(1, 4))
请注意,使用axis
时,at
的规范将成为您的labels
,除非您覆盖该规范,因此您的脚本无需指定labels
;你的脚本可以成为:
axis(side = 1, at = seq(0, 4, 0.5))
答案 1 :(得分:2)
正如@griffinevo回答(+1),如果您希望轴限制转到4,则必须使用xlim
指定。但是,可能有必要解释如何计算默认限制。这在文档中有解释,但在一个稍微模糊的地方。在帮助页?par
上搜索xaxs
。在那里你会看到
样式“r”(常规)首先将数据范围扩展4% 结束然后找到一个带有漂亮标签的轴 扩展范围。
在您的情况下,数据范围从1到3.8。因此,情节将在范围内寻找漂亮的标签
1 - 0.04*(3.8-1) = 0.888
to
3.8 + 0.04*(3.8-1) = 3.912
4超出此范围,因此不会显示为轴标签。为了完整起见,值得注意的是“漂亮”听起来只是一个单词,但实际上这里有一个技术含义 - 与pretty
函数相关。如果您查看帮助页?pretty
,您会看到说明:
计算大约n + 1个等间距'圆'值的序列 覆盖x中值的范围。选择这些值以便它们 是10的幂的1,2或5倍。
帮助页面上还有其他详细信息。