ggplot2:标签表达式中的字体样式

时间:2011-11-26 21:51:11

标签: r ggplot2

更改字体面和大小可以很好地工作,而无需在标签中进行表达。这是我在更改标签表达式中的字体面时遇到问题的代码。

p <- ggplot(data = mtcars, aes(x=wt, y=mpg)) + 
    geom_point() + 
    labs(x="Weight", y=expression(paste("mpg (  ", m^{-2}, ")"))) + 
    theme(axis.title.x = element_text(family="serif", face="bold", 
        size=12, angle=00, hjust=0.54, vjust=0)) + 
    theme(axis.title.y = element_text(family="serif", face="bold", 
        size=12, angle=90, vjust=0.25))

p

Output

任何帮助都将受到高度赞赏。感谢

1 个答案:

答案 0 :(得分:18)

我不认为这是expression的存在,虽然你没有确切地说出你所看到的是什么,所以很难确定。在Mac上你得到了粗体衬线字体的xlab,但是ylab不是粗体(虽然它是serif)。如果我使用plotmath bold,它将在表达式函数内成功:

p <- ggplot(data = mtcars, aes(x=wt, y=mpg)) + 
geom_point() + 
    labs(x = "Weight", y = expression(bold(mpg (m^-2) ))) +
    theme(axis.title.y = element_text(family="serif", 
        size = 12, angle = 90, vjust = 0.25)) +
    theme(axis.title.x = element_text(family="serif",
        size = 12, angle = 0, hjust = 0.54, vjust = 0))
p

与往常一样,图形设备通常是操作系统可变的,您没有提供任何有关您的提示,因此禁止进一步评论。

(编辑:如果你引用指数-2,你可以得到它的粗体() - 也是。)

expression( bold(mpg (m^bold("-2")) ) ) )