如何在r" base"中更改字幕的位置?情节。有一个特殊的论点吗?我想动态地将字幕左右对齐。
plot(mtcars$mpg,mtcars$qsec,xlab="",sub="I WANT TO\nBE RIGHT\nALIGNED")
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,这样它只会对齐字幕吗?
我刚刚发现了。我可以评估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))
答案 0 :(得分:3)
您可以使用par
设置adj
。从帮助页面:
值为0会产生左对齐文本,0.5(默认)居中文本和1右对齐文本。 (允许[0,1]中的任何值,并且在大多数设备上,该间隔之外的值也将起作用。)
缺点是它会影响text
,mtext
和title
的文字对齐方式。因此,如果我们想离开,我们必须分解代码。标题和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)
这将生成以下图表: