2011-08-24 32 views
1

我的X轴标签是字符串,使它们旋转正在我的情节看起来很丑陋。在ggplot中,有没有办法将X轴标签分开,使其中一半出现在顶部,一半出现在底部(交替样式)。因此,而不是:是否可以将X轴标签分为两个等级?

Label1 Label2 Label3 Label4 

我想:

Label1 Label3 
    Label2 Label4 

回答

2

您可以随时与交替换行符前面加上x轴值:

dat <- data.frame(x = c('Label1','\nLabel2','Label3','\nLabel4'),y = 1:4) 
ggplot(data = dat, aes(x = x, y = y)) + 
    geom_point() 

产生这样的:

​​

作为一个方面说明,我想也许你可以在opts值的矢量传递给vjust,但似乎并没有工作。它可能在开发版本中。

+1

谢谢。我希望有一个简单的方法来做到这一点。我对付长文本标签,它变成了一场噩梦以自动化的方式:) – Legend

+0

来到一个自动化的方式来做到这一点,是有什么办法可以对任意的数据帧做到这一点,而不必手动使用'\ N'所有的时间?谢谢! – Legend

+0

@Legend好,加上'\ N'到所有其他标签是量化的,所以原则上只有一行添加,使用'paste'。更普遍的是,ggplot不能“自动神奇地”做这样的事情的原因是,它不可能设计一个完美的通用解决方案来处理每一组可能的文本标签。哦,不客气! :) – joran