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))

我的问题是:

是否有一个内置函数可以让我为每个中断添加一个表达式?我目前的方法为人为错误留下了空间。

4

1 回答 1

0

感谢关于annotation_logticks我能够找到以下代码的提示: scale_y_continuous(labels = scales::math_format(10^.x))这正是我正在寻找的。

于 2020-01-28T01:16:36.023 回答