2

有没有办法将方面的 ylim 增加一定百分比,以便我的标签很好地适应?目前,非常小的条将在其上方有一个半切掉的标签。当我使用 hjust 时,我在大条的顶部遇到了同样的问题。

在此处输入图像描述

到目前为止,这是我的代码:

ggplot(test, aes(x=YEAR, y=(value), fill=variable)) +
   labs(title="Test", x=NULL, y="Total", fill=NULL) + 
   geom_bar(stat="identity"), position="stack") + 
   facet_grid(variable ~., scales="free") +
   theme(legend.position = "none") + 
   geom_text(aes(x=YEAR, y=(value), label=value), size=3)
4

1 回答 1

1

您可以使用expandinscale_y_continuous在顶部和底部添加一些空间:

例如

ggplot(test, aes(x=YEAR, y=(value), fill=variable)) +
   labs(title="Test", x=NULL, y="Total", fill=NULL) + 
   geom_bar(stat="identity"), position="stack") + 
   facet_grid(variable ~., scales="free") +
   theme(legend.position = "none") + 
   geom_text(aes(x=YEAR, y=(value), label=value), size=3)+
   scale_y_continuous( expand = c( 0.05 , 0.05 ) )

这将在 y 刻度的顶部和底部添加少量空间。使其更大以获得更多空间和 0 以在数据范围内精确修剪轴。

对于 dscrete 比例,它的工作方式大致相同:

scale_y_discrete( expand = c( 0.05 , 0.05 ) )

一个极端的例子(因为我无权访问您的数据):

mm <- ddply(mtcars, "cyl", summarise, mmpg = mean(mpg))
ggplot(mm, aes(x = factor(cyl), y = mmpg , fill = factor(cyl))) + 
  geom_bar(stat = "identity") +
  geom_text( aes( label=c("RED","GREEN","BLUE" ) ), size = 15 )+
  scale_y_continuous( expand = c(0.5,0.5) )

在此处输入图像描述

于 2013-06-12T13:20:44.187 回答