Entering edit mode
4.4 years ago
Kai_Qi
▴
130
I am trying to make a horizontal barplot in ggplot2. I almost get there but still not satisfied the output. My code is
David_BP_combined_signifcant$Term <- factor(David_BP_combined_signifcant$Term, levels = David_BP_combined_signifcant$Term[order(David_BP_combined_signifcant$logPvalue)])
ggplot(David_BP_combined_signifcant, aes(x=Term, y=logPvalue)) +
geom_bar(position = 'identity', stat='identity', fill='red') +
geom_text(aes(label=Count), size = 2, position=position_stack(vjust=0.5), hjust=0.5) +
theme_bw() +
theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank()) +
theme(panel.border = element_blank()) +
coord_flip() +
ggsave("FigureC2.tiff", width=6, height=8, dpi=300)
In the output figure the bars are too short, because the labeling of one term is too long. I have tried to add:
aes(stringr::str_wrap(Term, 15), logPvalue)
But in this case the order of the Barplot will be disrupted.
what is the better solution for this situation?
Thanks a lot