I am trying to add a legend for the secondary axis in the following code
library(ggplot2)
library(dplyr)
library(reshape2)
df = data.frame(period = seq(as.POSIXct("2017-01-01"),as.POSIXct("2017-12-01"), by = "month"),
b = c(100, 110, 105, 200, 210, 190, 180, 170, 165, 175, 140, 145),
c = c(120, 130, 150, 170, 250, 160, 130, 120, 110, 130, 120, 170),
d = c(1060, 1180, 1050, 2070, 2150, 1900, 1850, 1070, 1605, 1750, 1460, 1250)) %>%
mutate(period = factor(period))
df_bar = melt(df, id.vars = "period", measure.vars = c("b", "c", "d")) %>% filter(variable != "d")
df_line = df %>% select(period, d)
ggplot(data = df_bar, aes(x = period, y = value, fill = variable)) +
geom_bar(stat = "identity", position = "dodge") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(axis.text=element_text(size=9),
axis.title=element_text(size=14,face="bold")) +
ylab("primary axis") +
geom_line(data = df_line, aes(x = period, y = (d)/10, group = 1), inherit.aes = FALSE) +
geom_point(data = df_line, aes(x = period, y = (d)/10, group = 1), inherit.aes = FALSE) +
scale_y_continuous(sec.axis = sec_axis(~.*10, name = "secondary axis"))
I would like to have a legend for the line graph as well.
See Question&Answers more detail:
os