在ggplot轴刻度标记中添加表达式

3

我希望在我的X和/或Y轴刻度标签上添加类似于10^的内容。

我知道可以在facet_grid中使用像label_bquote这样的标签器来完成此操作,但我很好奇是否有一种方法可以对刻度标签进行此操作。

p <- ggplot(mpg, aes(displ, cty)) + geom_point()
p + facet_grid(rows = vars(drv),labeller = label_bquote(rows=sigma==10^.(drv)))

这个示例代码将10^添加到每个分面行的标签中,并且目前如果我想要将10^添加到每个X轴刻度上,我会这样做:

p + 
 scale_x_continuous(labels = expression("10"^"2", "10"^"3", "10"^"4", "10"^"5", "10"^"6", "10"^"7"), 
                    breaks = c(2, 3, 4, 5, 6, 7))

我的问题是:

是否有内置函数可以允许我在每个断点处添加表达式? 我目前的方法容易出现人为错误。


1
请参考?annotation_logticks中的示例。 - G. Grothendieck
1个回答

0
感谢有关“annotation_logticks”的提示,我找到了以下代码:scale_y_continuous(labels = scales::math_format(10^.x)),它正是我正在寻找的。

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