R 如何在ggplot2中将颜色图例从连续颜色更改为离散颜色?

R 如何在ggplot2中将颜色图例从连续颜色更改为离散颜色?,r,ggplot2,R,Ggplot2,我使用ggplot2创建了一个线条图,颜色图例是连续的。我想把它改成离散的彩色线条。我有以下代码: library(ggplot2) ggplot(df, aes(L)) + geom_line(aes(y = Updated, colour = S, group = S, linetype = "Updated")) + geom_line(aes(y = Current, colour = S, group = S, linetype = "Current&

我使用ggplot2创建了一个线条图,颜色图例是连续的。我想把它改成离散的彩色线条。我有以下代码:

library(ggplot2)
ggplot(df, aes(L)) +
 geom_line(aes(y = Updated, colour = S, group = S, linetype = "Updated")) +
 geom_line(aes(y = Current, colour = S, group = S, linetype = "Current")) +
 scale_color_gradient() +
 labs(x = element_text("Span Length (ft)"), y = element_blank(), 
         title = "Moment Live Load Distribution Factors \n Exterior Girder - Multi Lane",
      linetype = "AASHTO", color = "Spacing (ft)") +
  scale_linetype_manual(values = c(1, 3),
                        labels = c("Updated", "Current")) +
    theme_classic() +
    theme(plot.title = element_text(hjust = 0.5, margin = margin(0,0,20,0), size = 18),
          legend.position="top",
          legend.box.background = element_rect(colour = "black", size = 0.5),
          legend.box.margin = margin(0,0,0,0), legend.background = element_blank())
现在我的图表看起来像


我想将图例的连续部分转换为与图例其余部分宽度相同的彩色线条。谢谢大家!

根据变量的含义,您有多个选项:

将变量转换为因子:

库(ggplot2)
ggplot(mtcars)+
几何线(aes(mpg、wt、颜色=系数(cyl)))

由(v0.3.0)于2020年4月15日创建

使用装箱图例:

ggplot(mtcars)+
几何线(aes(mpg,重量,颜色=气缸))+
缩放颜色(guide=guide\u colorSteps())

由(v0.3.0)于2020年4月15日创建


请注意,
guide=guide\u colorSteps()
目前不起任何作用,但可以帮助您自定义图例。

小注释;该问题要求图例中有离散的彩色线,因此
guide=guide\u legend()
似乎更合适。谢谢,我尝试使用
color=factor,group=factor
,但我收到错误消息:错误:离散值提供给连续缩放。还有一个问题,现在只显示一些图例项(5个中有3个是S的大小)。关于如何让S中的所有图例项目展示出来的任何想法都可以让我回到连续的传说中去。我回到了颜色块,而不是线条