如何在R的bquote中使字体加粗以用于绘图主标题?

3
我用R语言画了一些图,并使用了,因为我需要在图的主标题中添加变量。但是,这样做后,主标题不再加粗,而我希望它加粗。我的定义如下:
title = bquote(atop("Empirical Pricing Kernel at Date",~.(EndDate)~"with Index Price"~.(ST)~"€")) plot(temp, EPK, type="l", main = title)
其中Enddate 是一个日期 ,包含 "2014-08-01",ST 只是一个数字,为9210.08。
有没有办法使其加粗,无论是否使用?我想找到一个使用的解决方案,因为在使用下标时非常方便。
我的问题是,在一个带有两个绘图的par-plot中使用它,并且另一个绘图中的主标题不需要特殊处理。所以,主标题要加粗。我甚至尝试只是把放在主标题周围,以获得相同的字体大小,但它仍然加粗。

1
你只传递了一个参数给 atop() 吗?你真的需要那个吗?这里似乎没有使用任何 plotmath。你不能只是用 paste() 函数将值粘贴起来吗?如果这个例子是可重现的,我们就可以确切地知道你所提到的每个变量中都有什么内容。 - MrFlick
我编辑了答案并添加了我正在使用的变量内容。当我使用paste时,它不会给我变量的值。我需要使用“atop”,因为我需要一个换行符,而没有“atop”,行不能正确居中。 - stats_guy
前面几句话我没看懂,但是希望提供的解决方案能够解决问题,并让你更好地掌握如何使用表达式。 - IRTFM
是的,您的解决方案解决了问题。因此,我接受并点赞了。谢谢! - stats_guy
1个回答

6

我更喜欢使用我所谓的“纯plotmath”,因此我使用波浪线而不是空格,并且不使用引号。我怀疑在bquote的第二个参数中,前导波浪线会导致错误。在plotmath中,波浪线需要两侧都有东西:如果你真的需要一个不显示的东西,你总可以使用phantom(0),但在这种情况下为什么要麻烦呢?

bquote(atop(Empirical~Pricing~Kernel~at~Date, 
            bold(.(EndDate))~with~Index~Price~.(ST)~"€"
       )   )

测试:

EndDate="2014-08-01";ST=9210.08
title = bquote(atop(Empirical~Pricing~Kernel~at~Date, bold(.(EndDate))~with~Index~Price~.(ST)~"€"))
   plot(1,1, type="l", main = title)

enter image description here


仿照@42的例子,是否可以将变量ST设置为粗斜体?我尝试过使用bolditalic(.(ST))进行包装,但没有成功。有什么想法吗? - Shepherd
我一时半会儿看不出失败的原因,因为“dot”函数应该在plotmath函数内正常工作。说“没有成功”对于调试过程并不特别有帮助。您需要描述ST的类以及您使用的代码。也许您应该提交一个带有[MCVE]的问题。 - IRTFM
谢谢您的回复。这是我所做的: EndDate="2014-08-01";ST=9210.08; title = bquote(atop(日期为bold(.(EndDate)),指数价格为bolditalic(.(ST))~"€"的经验定价核)); plot(1,1, type="l", main = title) 然而,变量ST并没有显示为粗斜体。 - Shepherd
哦,我记起来了。数字不会以bolditalic的形式打印出来。(请参见?plotmath页面。)需要引用那个十进制数。然后应该就成功了。 - IRTFM
谢谢,现在它的工作方式是这样的:EndDate="2014-08-01";ST=9210.08; title = bquote(atop(Empirical~Pricing~Kernel~at~Date, bold(.(EndDate))~with~Index~Price~bolditalic("9210.08")~"€")); plot(1,1, type="l", main = title) 所以无法动态更改 ST 的值(例如在 for 循环中)吗? - Shepherd
如果你遍历ST值并且然后应用as.character,可能使用sprintfformatC来四舍五入或截断尾部小数位,你不想要它应该成功。 (这与原始问题相当远离。您不应该使用评论来进行此操作。) - IRTFM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接