我想意识到的事情如下:

你看到axis.ticks的方向是向上的。
那么ggplot可以使axis.ticks的方向向上吗?
现在我可以意识到这一点

您可以使用Axis Attributes·hadley/ggplot2 Wiki·GitHub的命令看到axis.ticks.length已设置为零 但这不是我想要的,而且网上似乎很少有描述。
谢谢!
我认为这可以实现您的目标:
library(ggplot2)
library(grid)
gg <- ggplot(mtcars, aes(mpg, drat))
gg <- gg + geom_point(size=3)
gg <- gg + theme_bw()
gg <- gg + theme(axis.text.x=element_text(size=17, vjust=-0.25, color="black"))
gg <- gg + theme(axis.text.y=element_text(size=17, hjust=1, color="black"))
gg <- gg + theme(axis.ticks=element_line(color="black", size=0.5))
gg <- gg + theme(axis.ticks.length=unit(-0.25, "cm"))
gg <- gg + theme(axis.ticks.margin=unit(0.5, "cm"))
gg
Run Code Online (Sandbox Code Playgroud)

我们只是修改刻度大小并“反转”长度,然后确保刻度标签在此之后正确定位。