ggplot2数据标签超出边距

时间:2018-11-16 17:23:46

标签: r ggplot2

我正在使用for循环在ggplot2中制作许多图形,但是我的数据标签超出了绘图边距的范围。我尝试使用expand,但仅适用于某些数字。当我尝试使用par(mar)时,出现以下错误消息:

  

错误:不知道如何在绘图中添加o。

我还尝试过仅使用ggsave保存为一个很宽的文件,但是1)看起来很奇怪,2)不能制作出这么多不同的数字。

有人知道其他解决方法吗?理想情况下,一种基于条形图+数据标签的长度自动设置内部图形边距的方法。下面是我正在使用的代码和一个示例图(您可以看到'x'的条位于边距之外)。预先谢谢你!

for (i in each) {
  temp_plot = ggplot(data= subset(Data, Each == i)) + 
    geom_bar(stat = "identity", 
             aes(x = reorder(Letter, +Number), y = Number, fill = factor(Category))) + 
    xlab("Letters") + 
    ggtitle(paste0("Title"), subtitle = "Subtitle") + 
    coord_flip() + 
    theme_classic() + 
    theme(plot.title = element_text(hjust = 0.5, size=16), 
          plot.subtitle = element_text(hjust = 0.5)) +
    scale_fill_manual(values = c("#00358E", "#00AFD7"), 
                      name= "Category", 
                      labels=c("This","That")) +
    geom_text(family="Verdana", size=3, 
              aes(label=Number2, x=reorder(Letter, +Number), y=Number), 
              position=position_dodge(width=0.8), hjust=-0.001) + 
    scale_y_continuous(labels = comma, expand = c(0.01,0)) + 
    scale_x_discrete(labels = letters)
  ggsave(temp_plot, file=paste0("Example", i,".jpeg"))
}

Example plot

1 个答案:

答案 0 :(得分:0)

我想出了一个简单的解决方案:+ ylim(0, 130000)