X axis at 45 degrees

This command puts the x axis labels at 90 degrees , how can I make it 45 degrees

boxplot(abcd$diameter~abcd$sample, las=2,cex.axis=0.5,xlab=NA

??

Hi @ply you could get a better help if you put a reprex of you data. See this please,

# Example of df
set.seed(123)  # Seed for reproducibility of code
abcd <- data.frame(
  diameter = rnorm(100, mean = 10, sd = 2),
  sample = rep(letters[1:4], each = 25))

# boxplot with x axis 45 grades.
boxplot(abcd$diameter ~ abcd$sample, las = 2, cex.axis = 0.5, xlab = NA)

But I think that is better use ggplot2:

library(ggplot2)
ggplot(abcd, aes(x = sample, y = diameter)) +
  geom_boxplot() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + # Set axis 45 grades
  labs(x = NULL)  

1 Like

In pure base R, that doesn't seem possible; as discussed here, you can overwrite these labels with new labels with the desired angle:

boxplot(abcd$diameter ~ abcd$sample, xlab = NA, xaxt = 'n')
text(x = seq_along(unique(abcd$sample)),
     y = par("usr")[3]-0.25,
     labels = unique(abcd$sample),
     xpd = TRUE,
     srt = 45)

Briefly, xaxt = "n" removes the original labels, xpd = TRUE prevents clipping of the new labels. All that's left is to compute your own x, y and labels parameters, and you can indicate the angle in srt.