1

当绘制具有长名称的分类变量(例如箱线图)的图形时,必须使用themeggplot2 中的命令移动名称,然后也可以设置轴刻度和文本之间的距离,但这个距离会反映在两个轴上当某个时间只需要在一个轴上时。下面是一些示例代码:

df<-data.frame(X=rnorm(50,0,10),Y=c(rep("Some Text",25),rep("Some Larger Text That Takes Space",25)))

    #classical boxplots
ggplot(df,aes(x=Y,y=X))+geom_boxplot()+theme(axis.text=element_text(size=20),axis.text.x=element_text(angle=45))
    #the x axis labels need to be shifted downwards
ggplot(df,aes(x=Y,y=X))+geom_boxplot()+theme(axis.text=element_text(size=20),axis.text.x=element_text(angle=45),axis.ticks.margin=unit(4,"cm"))
    #now they are shifted but there is unnecessary space on the y-axis

我们如何设置axis.ticks.margin只作用于一个轴?

4

1 回答 1

2

试试这个例如:

  library(grid)
  axis.ticks.margin=unit(c(4,-4),'cm'))

因此,ggplot2调用变为:

ggplot(df,aes(x=Y,y=X))+
  geom_boxplot()+
  theme(axis.text=element_text(size=20),
        axis.text.x=element_text(angle=45),
        axis.ticks.margin=unit(c(4,-4),'cm'))
于 2013-05-30T15:21:39.997 回答