I want two combine a boxplot and a barplot in one graph with two y-axes. They should match on the name of the x-axis. In the code I provide the code and the data for each plot.
Plot 1:
ggplot(F3a, aes(x= name, fill = name, y = value))+
geom_boxplot(alpha = 0.7)+
geom_dotplot(binaxis = "y", stackdir = "center", position = "dodge")+
theme_bw()+
theme(legend.position = "bottom",
legend.title = element_text(size=8),
legend.text=element_text(size=8),
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank()
)+
guides(fill=guide_legend(nrow=4,byrow=TRUE))+
labs( x = "", y = "Zufriedenheit", fill = "")+
scale_y_continuous(trans = "reverse", breaks = c(1,2,3,4,5))+
scale_color_viridis_d(aesthetics = "fill")+
ylim(5,1)
structure(list(name = c("Newsletter", "Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Treffen der \n Landesreferent:innen", "Newsletter", "Blog",
"Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Fortbildungen",
"Newsletter", "Fortbildungen", "Newsletter", "Blog", "Rückmeldungen zu \nfachlichen Anfragen beim\n DRK-Generalsekretariat",
"Fortbildungen", "Treffen der \n Landesreferent:innen", "Newsletter",
"Blog", "Fortbildungen", "Treffen der \n Landesreferent:innen"
), value = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 2, 1,
2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 1, 1, 1, 1,
1, 2, 2, 2, 2, 1, 2, 1, 1)), row.names = c(NA, -46L), class = c("tbl_df",
"tbl", "data.frame"))
Code and data for the second plot:
ggplot(F1a, aes(x = name, y = percent, fill = name))+
geom_col(alpha = 0.8)+
theme_bw()+
labs(x = "Angebot", y = "Prozent" )+
scale_color_viridis_d(aesthetics = "fill")
structure(list(name = structure(c(1L, 4L, 2L, 3L, 5L), .Label = c("Blog",
"Fortbildungen", "Newsletter", "Fachliche Anfragen beim \n DRK-Generalsekretariat",
"Treffen der \n Landesreferent:innen"), class = "factor"), value = c(1,
1, 1, 1, 1), n = c(9L, 8L, 9L, 10L, 9L), percent = c(18.8, 16.7,
18.8, 20.8, 18.8)), row.names = c(NA, -5L), class = c("tbl_df",
"tbl", "data.frame"))