在y轴上增加文字和标题之间的距离


108

y轴标题看起来太靠近轴文本。

ggplot(mpg, aes(cty, hwy)) + geom_point()

ggplot输出

我尝试使用更改许多参数的值,theme()但似乎没有帮助。

Answers:


171

ggplot2 2.0.0您可以使用margin =的参数element_text()来改变轴标题和数字之间的距离。设定的值margint运算,r飞行,bottom,和l该元件的EFT侧。

ggplot(mpg, aes(cty, hwy)) + geom_point()+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)))

margin也可以用于其它element_text元素(参见?theme),如axis.text.xaxis.text.ytitle


4
此方法似乎不适用于facet_grid,而Adam B建议的答案可以(例如,使用\ n换行)
匿名

@Anonymous您能举个例子,说明该margin =参数不起作用吗?
Didzis Elferts

我尝试过了theme_bw。抱歉,发布整个代码不可读/混乱……
匿名

3
@Anonymous如果使用theme_bw()theme_bw()应该前使用theme()的功能,因为在个预定义的主题有用于轴标题媒体链接参数。
Didzis Elferts

感谢您的澄清!
匿名

97

根据此论坛帖子:https : //groups.google.com/forum/#!topic/ggplot2/mK9DR3dKIBU

听起来最简单的方法是在x轴之前和y轴标签之后添加换行符(\ n)。似乎比上面发布的解决方案容易(尽管很笨拙)。

ggplot(mpg, aes(cty, hwy)) + 
    geom_point() + 
    xlab("\nYour_x_Label") + ylab("Your_y_Label\n")

希望有帮助!


4
我通常使用这种方法,它的速度要快得多,并且不需要向ggplot添加另一个选项,除非需要一些特定的调整。
R. Prost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.