修复R中的对数图

K. *_*aya 0 r ggplot2

我想要一个在x轴和“正常” y轴上具有对数刻度的图。

我得到了一个图,但是我在Y轴上看到一个奇怪的东西,我无法弄清楚。

breaks <- 10^(-10:10)
minor_breaks <- rep(1:9, 21)*(10^rep(-10:10, each=9))
ggplot(mtcars, aes(mpg, disp)) +
  geom_line(size = 1, color = "blue") +
  scale_x_log10(breaks = breaks, minor_breaks = minor_breaks, limits = c(0.1,50)) +
  annotation_logticks()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

y轴上的这是什么东西,我如何摆脱它?

小智 5

使用下面的代码,您可以删除y轴上的黑色混乱,因为它是您添加的带注释的刻度线。设置side =“ b”表示您只希望x轴(底部)上的刻度线。

breaks <- 10^(-10:10) 
minor_breaks <- rep(1:9, 21)*(10^rep(-10:10, each=9))

g <- ggplot(mtcars, aes(mpg, disp)) +
  geom_line(size = 1, color = "blue") +
  scale_x_log10(breaks = breaks, minor_breaks = minor_breaks, limits = c(0.1,50)) +
  annotation_logticks(sides = "b")
g
Run Code Online (Sandbox Code Playgroud)