ggplot图例中的虚线

Ana*_*Ana 3 r legend ggplot2

我想设置我的传奇的线型.

我的数据如下:

  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
Run Code Online (Sandbox Code Playgroud)

我想绘制CaixaForum和MNAC专栏的时间系列.我有以下代码:

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")) 
Run Code Online (Sandbox Code Playgroud)

如您所见,您无法区分图例中的两种线型:

在此输入图像描述

我怎么修好?

我在stackoverflow中编写了其他答案,但它们没有用.

aos*_*ith 5

您可以切换到使用linetype而不是color在两个点图层中,因为您实际上并未使用color图形中的任何内容.

它看起来像这样:

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")) 
Run Code Online (Sandbox Code Playgroud)

如果您真的想要使用现在出于某种原因使用的方法,可以通过override.aesguide_legend图形中添加以下行来获得所需的行:

guides(color = guide_legend(override.aes = list(linetype = c("solid", "dashed"))))
Run Code Online (Sandbox Code Playgroud)