【发布时间】:2015-10-11 04:09:23
【问题描述】:
我的 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)
有什么想法吗?
【问题讨论】:
-
I also can't control lwd of axis你确定吗?这是一个相当笼统的声明。你在axis中尝试过lwd吗?因为你只举了一个例子,我只能给你这个with(d, plot(x, y, axes = FALSE, ann = FALSE)); axis(1, at = pretty(range(d$x)), lwd = 0, lwd.ticks = 1)不知道这对你有什么作用