У меня есть сюжет с двумя типами линий, но я не могу заставить его отображаться в легенде, как это делают цвета. Мои наборы данных выглядят так:
Role <- LETTERS[1:3]
df1 <- data.frame (totalFemByLevel = c(104,23,9),
totalMalByLevel = c(48,30,12),
Role)
df2 <- data.frame (totalFemByLevel = c(100,30,6),
totalMalByLevel = c(44,25,10),
Role)
Один из них - с 2016 года, а другой - с 2019 года, оба структурированы одинаково.
CompareTotalPlot <- function(df1, df2, title) { Plot <- ggplot(data
= df1, aes(x = factor(Role), group = 1))+ #female=red, male = steelblue
geom_line(aes(y=totalFemByLevel, col = "red"), size = 1.5) +
geom_point(aes(y=totalFemByLevel, col = "red"), size = 7)+
geom_text(aes(y=totalFemByLevel, label = totalFemByLevel))+
geom_line(aes(y=totalMalByLevel, col ="steelblue"), size = 1.5) +
geom_point (aes(y=totalMalByLevel,col = "steelblue"), size = 7)+
geom_text(aes(y=totalMalByLevel, label = totalMalByLevel))+
scale_linetype_manual(name = "Year",
values = c(1,2),
labels = c("2019", "2016"))+ #l
scale_colour_manual(name = "Gender",
labels = c("Women","Men"),
values = c("red","steelblue"))+
labs(x= "Level",
y= "Total",
title = title
)
Plot <- Plot+geom_line(data=df2, aes(y=totalFemByLevel, col = "red"), size = 1, linetype = 2)+
geom_line(data=df2, aes(y=totalMalByLevel, col = "steelblue"), size = 1, linetype = 2 )
}
участок
Это сюжет, который выводит мой текущий код. Я доволен всем, кроме легенды.