【问题标题】:How to rotate the axis labels in ggplot2?如何旋转ggplot2中的轴标签?
【发布时间】:2012-04-21 06:21:23
【问题描述】:

我有以下使用 ggplot2 生成的图表

我有 finalPlot 作为 ggplot 对象。添加我使用的标签

finalPlot + stat_bin() + scale_x_continuous('Solution Cost') + scale_y_continuous('Number of Solutions')`

如何更改 y 轴标签的方向以使其显示为水平,并在可能的情况下跨越两条线

Number of
Solutions

【问题讨论】:

  • 据我所知,下面的答案现在已经过时了,因为'opts' 已被弃用(现在是'theme'),theme_text()(对于'element_text')也是如此。

标签: r ggplot2


【解决方案1】:

轴文本的旋转角度需要使用element_text()。有关一些示例,请参阅this post on SO。对于两行以上的间距,我会在字符串中要放置换行符的位置添加"\n"

这将为 y 轴文本设置正确的方向并强制换行:

finalPlot + ylab("Number of\nSolutions") + 
    theme(axis.title.y = element_text(angle = 0))

【讨论】:

  • 不,这不是我想要的。这个改变了刻度的方向。我想旋转轴标签,而不是轴刻度标签
  • 您可能可以采用此解决方案并轻松适应您的情况...
  • 但是不知道对应的参数会是什么:(
  • 只需在命令提示符下键入theme_text() 即可获取您可以设置的选项列表。我猜需要的是title.text
  • axis.title.theme.y 用于轴标签 axis.text.theme.y 用于轴值
【解决方案2】:

ggplot2 的最新版本中的语法发生了变化;如果你尝试上面的答案,你会得到

错误:改用“主题”。 (已失效;最后在 0.9.1 版本中使用)

这些天你应该使用

finalPlot + ylab("Number of\nSolutions") + theme(axis.title.y = element_text(angle=0))

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多