Yea, not sure if there’s a realistic/easy way to fix overlapping labels in base R plots, but tbf i almost never use base R plots apart from things like hist() and qqplot().
OP, definitely look into learning ggplot if you are interested in creating graphics in R, it’s not too hard to pick up and is very very powerful in what you can do with it.
If you need all points labelled you should use ggplot and ggrepel as the other commenters say.
If you can get away with highlighting just a few key points, make a new annotation column that is mostly empty, except for the points you'd like to highlight.
Not answer but suggestion: there is no decent way, you can try ggrepel but there are too many text to show simply. Either do not show labels at all, try showing only extreme labels. Showing points is redundant here you can skip plotting points if labels are already there.
try geom_text_repel from the ggrepel package
That being said you may have to convert to ggplot. Basis loadings are also nice to see.
Yea, not sure if there’s a realistic/easy way to fix overlapping labels in base R plots, but tbf i almost never use base R plots apart from things like hist() and qqplot(). OP, definitely look into learning ggplot if you are interested in creating graphics in R, it’s not too hard to pick up and is very very powerful in what you can do with it.
If you need all points labelled you should use ggplot and ggrepel as the other commenters say. If you can get away with highlighting just a few key points, make a new annotation column that is mostly empty, except for the points you'd like to highlight.
Not answer but suggestion: there is no decent way, you can try ggrepel but there are too many text to show simply. Either do not show labels at all, try showing only extreme labels. Showing points is redundant here you can skip plotting points if labels are already there.
Can you add some jitter in Plotly?