One way is to use ggrepel package. It provides a function called geom_text_repel() that smartly provides a way to show labels to each point in a chart.
The syntax of geom_text_repel() is the same as that of geom_text().
ggplot(mapping) + geom_*() + geom_text_repel(mapping,label = "")
Hope it helps you!