How can I avoid that these 2 layers in ggplot2 overlap? I try to display the text so that they are not laying above the points.
check_overlap
does a great job with avoiding that the text overlaps itself, but not with other layers.
I also tried the library geom_text_repel
, but this library does not support check_overlap
and shows the text for every data point.
But I need to not have the text for every point, like check_overlap
does.
ggplot(dat, aes(x = CPI, y = HDI)) +
geom_point(aes(color = Region), shape=21, size=4, position = "identity") +
geom_text(data = dat, aes(label = Country), size=4, check_overlap = TRUE)
geom_text_repel
will not create text labels for the empty string ""
. However, the text labels will repel away from the unlabeled data points.
Try this:
# Hide text labels for the first 3 data points
idx <- c(1,2,3)
dat$CountryLabel <- dat$Country
dat$CountryLabel[idx] <- ""
library(ggrepel)
ggplot(...) + geom_text_repel(data = dat, aes(label = CountryLabel))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With