右/左对齐字幕中的字幕位置

时间:2017-11-29 10:00:56

标签: r plot subtitle

如何在r" base"中更改字幕的位置?情节。有一个特殊的论点吗?我想动态地将字幕左右对齐。

数据

plot(mtcars$mpg,mtcars$qsec,xlab="",sub="I WANT TO\nBE RIGHT\nALIGNED")

以红色

绘制所需输出的数据

enter image description here

修改

plottR <- function(...) {
    plot(...)
}

plottR(mtcars$mpg, mtcars$qsec, ylab="Y Must Center", xlab="X Must Center", main="Must center", sub="Must right-align",adj=1)

我可以输入一些内容到plottR,这样它只会对齐字幕吗?

EDIT2

我刚刚发现了。我可以评估title()内部情节。

plottR(mtcars$mpg, mtcars$qsec, ylab="Y Must Center", xlab="X Must Center", main = "Must Center", title(sub ="Hey Only\nim right\ncool huh?",adj=1))

1 个答案:

答案 0 :(得分:3)

您可以使用par设置adj。从帮助页面:

值为0会产生左对齐文本,0.5(默认)居中文本和1右对齐文本。 (允许[0,1]中的任何值,并且在大多数设备上,该间隔之外的值也将起作用。)

缺点是它会影响textmtexttitle的文字对齐方式。因此,如果我们想离开,我们必须分解代码。标题和Y轴标题未被触及。

您可以使用以下代码:

# store the current value of adj
adj.old <- par()$adj    # default is 0.5

# plot with the current value of adj
plot(mtcars$mpg, mtcars$qsec, xlab="")

# set adj to right-aligned and plot the subtitle
par(adj = 1)
title(sub = "I WANT TO\nBE RIGHT\nALIGNED")

# reset adj to previous value
par(adj = adj.old)

这将生成以下图表:

enter image description here