R ggplot scale_y_log10,从对数刻度中删除 10^(-0.5)

R ggplot scale_y_log10, remove 10^(-0.5) from log scale

我正在使用以下代码在轴上获取对数刻度,但是,它还会显示中间值,例如 10^(0.5)、10^(1.5)、10^(2.5)...我可以摆脱那些,只显示完整的 10^1、10^2,...,作为我的轴标签吗?

scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x),
            labels = trans_format("log10", math_format(10^.x))) 

感谢您的帮助!

您可以尝试将 n 参数设置为 scales::breaks_log(默认为 n=5),如

scale_y_log10(breaks = breaks_log(n=3))

或者,如果您愿意 hard-code 您可以使用特定图形的解决方案

scale_y_log10(breaks = 10^(1:3))

一旦你建立了你想要的范围。