通常当我绘制一些R线图并设置ylim=c(0,some_value)
时,x轴和y = 0之间的空间很小。
我希望y轴精确地显示在y = 0处,因此点(x,0)将绘制在y轴上(而不是在上面)。
答案 0 :(得分:48)
您可能希望图形参数xaxs
和yaxs
的样式为“i”:
plot(1:10, rnorm(10), ylim=c(0,10), yaxs="i")
请参阅?par
:
xaxs :轴间隔的样式 计算用于x轴。 可能的值是“r”,“i”,“e”, “s”,“d”。风格一般 受数据范围或 xlim,如果给出的话。风格“r”(常规) 首先将数据范围扩展4 每一端的百分比,然后找到一个 轴与漂亮的标签适合 在扩展范围内。风格“我” (内部)只是找到一个轴 漂亮的标签适合 原始数据范围。风格“s” (标准)找到一个漂亮的轴 其中原始数据的标签 范围适合。风格“e”(扩展)是 喜欢风格“s”,除了它也是 确保有空间 在边界内绘制符号 框。样式“d”(直接)指定 应该使用当前轴 后续情节。 (只有“r”和“i” 目前已实施样式)
yaxs :用于y轴的轴间隔计算样式。 请参阅上面的 xaxs 。
答案 1 :(得分:13)
另一种选择是使用axes=F
禁用绘图中的轴绘图,然后使用轴命令单独放置轴,pos
选项控制轴间距。
plot(1:10, runif(10), ylim=c(0,1), xlim=c(0,10),axes=F)
axis(1, pos=0)
axis(2, pos=0)