I have the following code to plot my dataframes that are in a list plot. Plot has 18 data frames. The naming convention of the dataframes is as follows: 84-9, 84-12, 84-15, 92-9, 92-12, 92-15, 100-9, 100-12, 100-15, 108-9, 108-12, 108-15, 116-9, 116-12, 116-15, 124-9, 124-12 ,124-15.
A sample dataframe from the list are provided below. All of the dataframes have the same format and size:
Plot[["84-9"]]
Names Type Shear Moment
<chr> <chr> <dbl> <dbl>
1 Baseline ext_multi 0.824 0.614
2 Baseline ext_single 0.734 0.464
3 Baseline int_multi 0.727 0.527
4 Baseline int_single 0.599 0.338
5 Sample ext_multi 0.829 0.626
6 Sample ext_single 0.737 0.475
7 Sample int_multi 0.712 0.512
8 Sample int_single 0.595 0.327
9 Sample ext_multi 0.823 0.611
10 Sample ext_single 0.737 0.464
# ... with 34 more rows
I use the following code
library(ggplot2)
for (i in 1:length(Plot)) {
plot.Shear <- ggplot(data = subset(Plot[[i]], Names = "Sample"), aes(x = Type, y = Shear)) +
geom_boxplot(outlier.shape = NA) +
stat_summary(fun = mean, geom="point", shape=23, size=3) +
stat_boxplot(geom='errorbar', linetype=1, width=0.5) +
geom_point(data = subset(Plot[[i]], Names != "Sample"), aes(colour = Names)) +
scale_color_manual(values=c("red","green4","black")) +
theme(legend.title=element_blank()) +
theme(axis.title.x=element_blank()) +
theme(axis.title.y=element_blank()) +
labs(title = "Shear Live Load Distribution Factors") +
theme(plot.title = element_text(hjust = 0.5))
print(plot.Shear)
}
At the moment, I am removing the legend title because otherwise, it would read the column title "Names". I would like to add the legend title in the loop such that each legend title would say "UG" followed by the name of the dataframe that the plot is generated for. Example UG84-9.