旋转辅助轴标签的文本

时间:2016-12-13 10:14:00

标签: r ggplot2

我正在利用ggplot2中最近添加的辅助轴标签功能。我想旋转只是辅助轴,但无法找到文档或计算出如何执行此操作。

它足够简单,可以使用...

旋转所有文本
ggplot(mtcars, aes(x = wt, y = mpg, colour = mpg)) +
    geom_point() +
    scale_x_continuous(name = 'Bottom Axis',
                       sec.axis = sec_axis(trans = ~ .,
                                           name  = 'Top Axis',
                                           breaks = c(2:5),
                                           labels = c('Two Two', 'Three Three Three', 'Four Four Four Four', 'Five Five Five Five Five'))) +
## Rotate text of x-axis
    theme(axis.text.x = element_text(angle = 90))

Example dual Axis plot with both axes labels rotated 我在阅读的任何文档中都没有提到它(例如scale_continuousthemes)如何实现只旋转一个轴。

我要求这个的动机是我希望应用于我的数据的一些标签是长的并且在水平放置时重叠,通过旋转它我可以避免这种情况,但我希望保持底部轴上的水平方向。

1 个答案:

答案 0 :(得分:7)

如果您正在使用ggplot2的最新dev version,则可以使用axis.text.x.top

ggplot(mtcars, aes(x = wt, y = mpg, colour = mpg)) +
  geom_point() +
  scale_x_continuous(
    name = 'Bottom Axis',
    sec.axis = sec_axis(
      trans = ~ .,
      name  = 'Top Axis',
      breaks = 2:5,
      labels = c('Two Two', 'Three Three Three', 'Four Four Four Four', 'Five Five Five Five Five')
    )
  ) +
  ## Rotate text of x-axis
  theme(axis.text.x.top = element_text(angle = 45, hjust = 0))

enter image description here