R:增加绘图和轴标签之间的边距

时间:2014-07-22 13:09:08

标签: r plot

我正在编写代码并且无法弄清楚如何影响这个间距..我已经尝试过oma,mai等但是不能让这个空间变小(绘图和轴描述之间的空间) " 2000年1月"等)。我需要哪个命令?

enter image description here

2 个答案:

答案 0 :(得分:1)

我看到你提到你已经尝试过oma和mai,但你尝试过mgp吗?您可以使用mgp.axis.labels来改变单个轴与其刻度标签之间的空间,这需要Hmsic package

让我们设置一个示例数据框:

require(Hmisc)
A <- rnorm(3,1,100)
B <- c("january","february","march")
dat <- data.frame(B,A)

选项(&#39; mpg.axis.labels&#39;)为每个轴提供默认距离.7

!> options('mgp.axis.labels')
 $mgp.axis.labels
 [1] 0.7 0.7

这为每个轴提供了3个值,在这种情况下,我们打印x轴默认值:

mgp.axis.labels(type='x')
 [1] 3.0 0.7 0.0

让我们将刻度标签和绘图之间的距离更改为大约1/3:

mgp.axis.labels(c(3.0,0.2,0.0), type='x')

plot(dat,axes=FALSE)
mgp.axis(1,at=1:3,labels=dat$B)

完成!现在X轴和刻度标签之间的距离更小。

答案 1 :(得分:0)

因此,如果你有一个xts对象,那么你正在使用plot.xts(...)。我认为plot.xts(...)中的默认轴边距设置不同。尝试使用mgp=...参数(有关详细信息,请参阅?par)。

library(xts)
data(sample_matrix)     # sample dataset in xts package
ts <- as.xts(sample_matrix, descr='my new xts object')
par(mfrow=c(1,2))
plot(ts$Open,auto.grid=F)
plot(ts$Open,auto.grid=F,mgp=c(3,1,0))

左侧的图使用plot.xts(...)的默认值,右侧的图将mgp设置为基数R的默认值。