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

或者,如果你愿意硬编码特定图形的解决方案,你可以使用

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

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

最新更新