在情节中右/左对齐字幕位置

Posted

技术标签:

【中文标题】在情节中右/左对齐字幕位置【英文标题】:right/left align subtitle position in plot 【发布时间】:2017-11-29 10:00:55 【问题描述】:

如何更改 r "base" plot 中的字幕位置。有什么特别的说法吗?我想动态地让字幕左对齐或右对齐。

数据

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 中输入一些内容,让它只对齐字幕吗?

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】:

您可以使用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)

这会生成以下图表:

【讨论】:

谢谢。我找到了 adj 参数。我的问题中没有提到它,但 adj 也会改变主标题。有没有办法只移动字幕? @AndreElrico 这基本上就是我在上面的代码中所做的。在adj 具有默认值(0.5)的条件下,我生成了一个带有plot 的图形,没有副标题,但带有Y 轴标题(您也可以在此处添加主标题)。然后,我更改adj = 1 并使用title 函数添加字幕。最后我重置了adj 它有效。那可能是最好的解决方案。可悲的是,我正在使用一个调用 plot 的函数,并且我正在使用 ... 参数。所以我不能在那里进行程序编码。但这是一个很好的解决方法:-) @AndreElrico 这只是一个建议:您可以使用上面的代码,包括图表,然后发布一个新问题,询问适合您需求的替代方案。如果您让我通知我有关新问题的信息,我将立即考虑投票。祝你好运! 嘿,我刚刚更新了问题以更准确地匹配我的情况。如果您有任何想法,建议让我知道:-)

以上是关于在情节中右/左对齐字幕位置的主要内容,如果未能解决你的问题,请参考以下文章

如何对齐 3 个 div 左中右? [复制]

使用 CSS 在有序列表中右对齐合法样式的数字和左对齐文本

将divs左中右对齐并实现时阻止行为

如何将 ActionBar 标题设置在中间而不是默认的左对齐位置?

在 UITextField 中右对齐 PlaceHolder 文本

MARQUEE滚动图片的开始初始位置怎么设置