我的x轴太短了。
d <- data.frame(x = c(120,200,300), y = rep(1,3))
plot(d$x,
d$y,
xlim = c(min(d$x), max(d$x)),
axes = FALSE,
xlab = "",
ylab = "")
axis(1, lwd = 2)
显然,这并不理想。我知道有许多方案可以绘制单个实例的图形。但是,我正在以编程方式生成许多具有不同x值的这样的图形。因此,我需要一个通用的解决方案,并且直接适用于不同的x值。
以下是一些头脑风暴的代码:
#This works but the tick marks are ugly. I also can't control lwd of axis
plot(d$x,
d$y,
yaxt="n",
frame.plot = FALSE,
xlab = "",
ylab = "",
xaxp = c(120, 300, 50))
#this is the solution for this particular case, however, it would not work in general
plot(d$x,
d$y,
xlim = c(min(d$x)-20, max(d$x)),
axes = FALSE,
xlab = "",
ylab = "")
axis(1, lwd = 2)
有什么想法吗?
with(d, plot(x, y, axes = FALSE, ann = FALSE)); axis(1, at = pretty(range(d$x)), lwd = 0, lwd.ticks = 1)
不确定这在一般情况下对你如何有效。 - rawr