我正在使用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"))
}
答案 0 :(得分:0)
我想出了一个简单的解决方案:+ ylim(0, 130000)