角度在45至90度之间时,如何更正x轴文本位置?

时间:2019-06-27 17:49:30

标签: r ggplot2

我正在努力理解ggplot的axis.text.x的交互作用:anglehjustvjust。当角度在0到45之间时,我阅读的所有内容均有效,但对于角度> 45和<90则无效。

下面是一个最小的可重现示例:

library(ggplot2)   
p <- ggplot(mtcars, aes(1000 * mpg, hp)) +
      geom_point()

第一个带有angle = 90的情节看起来像预期的那样,

p + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))

enter image description here

但是,与上图相比,将角度仅减小1度(从angle = 90angle = 89)时,轴标签向下移动。

p + theme(axis.text.x = element_text(angle = 89, hjust = 1, vjust = 0.5))

enter image description here

任何见识表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试同时指定 vjust = 0.5hjust = 0.5,这样就可以避免问题。

ggplot(mtcars, aes(x = 1000*mpg, y = hp)) +
geom_point() +
theme(
axis.text.x = element_text(angle = 75, vjust = .5, hjust = .5)
)

Result