Dotted line in ggplot legend
I want to set the linetype of my legend.
My details:
VisitMonth VisitYear CaixaForum MNAC FirstDay
1: 01 2007 NA 7125 2007-01-01
2: 02 2007 NA 5345 2007-02-01
3: 03 2007 NA 4996 2007-03-01
4: 04 2007 NA 5476 2007-04-01
5: 05 2007 NA 6160 2007-05-01
---
98: 02 2015 17903 2360 2015-02-01
99: 03 2015 30400 2930 2015-03-01
100: 04 2015 25422 3088 2015-04-01
101: 05 2015 10787 2130 2015-05-01
102: 06 2015 3679 2047 2015-06-01
I want to build a CaixaForum time series and MNAC columns. I have some code:
ggplot(data = MUSEUMS, aes(x = FirstDay, y = MNAC)) +
geom_line(size=0.75, aes(x = FirstDay, y = MNAC, colour = "MNAC")) +
geom_line(size=0.75, aes(y = CaixaForum, colour = "CaixaForum"), linetype = "dashed") +
labs(title = "", x = "", y = "Monthly Visitors") + theme_bw() +
theme(legend.title = element_text(size=16, face="bold"), legend.direction = "horizontal",
legend.position=c(0.5, 1.05), text = element_text(size=20)) +
scale_colour_manual(name="Legend",values=c(MNAC="black", CaixaForum="black"))
As you can see, you cannot distinguish between the two types of lines in the legend:
How can I fix it?
I have coded other answers on stackoverflow, but they didn't work.
source to share
You can just switch to use in two point layers linetype
instead color
, since you are not actually using color
for anything in your graphics.
It will look like this:
ggplot(data = MUSEUMS, aes(x = FirstDay, y = MNAC)) +
geom_line(size=0.75, aes(x = FirstDay, y = MNAC, linetype = "MNAC")) +
geom_line(size=0.75, aes(y = CaixaForum, linetype = "CaixaForum")) +
labs(title = "", x = "", y = "Monthly Visitors") + theme_bw() +
theme(legend.title = element_text(size=16, face="bold"), legend.direction = "horizontal",
legend.position=c(0.5, 1.05), text = element_text(size=20)) +
scale_linetype_manual(name="Legend",values=c(MNAC="solid", CaixaForum="dashed"))
If you really want to use an approach that is currently using for any reason, you can get the desired line using override.aes
in guide_legend
adding the following line to your chart:
guides(color = guide_legend(override.aes = list(linetype = c("solid", "dashed"))))
source to share