Saul Garcia Saul Garcia - 2 months ago 14
R Question

Incline boxplot's x labels in R

I tried to look for a method to tilt my

boxplot
but never landed with the correct placement of the names.

I have this dataframe
Accuracy
of different accuracies for each model, I want to display the variability in a boxplot.

sample iteration poly_eps.001_C1 poly_eps.01_C1 poly_eps.1_C1 poly_eps.001_C10 poly_eps.01_C10
(int) (int) (dbl) (dbl) (dbl) (dbl) (dbl)
1 1 0.9841270 0.9841270 0.9761905 0.9761905 0.9761905
1 2 0.9680000 0.9680000 0.9520000 0.9600000 0.9600000
1 3 0.9523810 0.9523810 0.9603175 0.9365079 0.9365079
1 4 0.9600000 0.9600000 0.9600000 0.9520000 0.9520000
1 5 0.9523810 0.9523810 0.9682540 0.9444444 0.9444444


Then my code to

# algorithms helpsvme only getting the desired features for the boxplot
algorithms = names(accuracies_table[-c(1:2)])

boxplot(accuracies_table[algorithms], col = color ,
main = "Polynomial KSVM Models", ylab = "Accuracy",
las=2,ylim = c(0.90,1))


enter image description here

could someone help me incline the x axis labels? or how could this be done in ggplot2?

Answer

Try this:

library(ggplot2)
library(reshape2)
df <- melt(accuracies_table[algorithms])
ggplot(df, aes(variable, value, fill=variable)) + geom_boxplot() +
        ggtitle("Polynomial KSVM Models") + ylab("Accuracy") +
  theme(axis.text.x = element_text(angle = 45, size=15, hjust = 1))

enter image description here