简体   繁体   中英

Problems with the size of the labels of the plots in R

I'm having problems with the size of the labels of the plots. So, this is the code:

column1 <- c(0.18936045, 0.55010315,  0.23474801, 0.02578839)
column2 <- c(0.20522653, 0.51235168, 0.26060781, 0.02181398 )

example_data <- 
  data.frame(
    rowNames = c('[-2.34898,-0.83219]', '(-0.83219,0.684599]', '(0.684599,2.20139]', '(2.20139,3.71818]'),
    column1 = column1,
    column2 = column2
  )

plot(data = example_data, column1 ~ column2, xlab = "Marginal probs scaledsci",
     ylab = "Actual probs from data", pch = 20, col = 'blue')
text(data = example_data, column1 ~ column2, labels = rowNames, cex = .6, pos = 2.99, col = 'red')

This is the plot I obtain: plot obtained

So, I would like to have all the points with their labels visible. So, could someone help me with this?

If you want to keep your text position relative to the points the way you defined it with the pos parameter, one option would be to increase the limits of the x axis range (particularly on the left side), eg:

xlim2 <- {r2=diff(range(column1))*.6; c(mean(column1)-r2, max(column1))}

plot(data = example_data, column1 ~ column2, xlab = "Marginal probs scaledsci",
     ylab = "Actual probs from data", pch = 20, col = 'blue', xlim=xlim2)
text(data = example_data, column1 ~ column2, labels = rowNames, cex = .6, pos = 2.99, col = 'red')

For plots I prefer ggplot . When I run into issues with the positions of labels (overlaps with datapoints and such) I often add the functionalities of the package ggrepel . Example below.

library(ggplot2)
library(ggrepel)
ggplot(example_data, aes(x = column1, y = column2)) + geom_point(size = 4, col = "blue") + labs(x = "Marginal probs scaledsci", y = "Actual probs from data") + geom_text_repel(label = example_data$rowNames, col = "red", nudge_y = 0.02) +
theme_bw() +  theme(text = element_text(size = 15))

The nudge_y parameter moves your label with 0.02 units of your y-variable. Its optional but looked better in my opinion.

阴谋

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM