R 在geom_line()中更改线条颜色后向混合ggplot添加图例
在R中使用R 在geom_line()中更改线条颜色后向混合ggplot添加图例,r,ggplot2,legend,R,Ggplot2,Legend,在R中使用geom_line()命令时,我很难将图例添加回图形。以下是一些可复制的数据: df <- data.frame(Sample = c("Mesa-6X", "Mesa-6X-Cen", "Mesa-600X", "Mesa-6000X", "Mesa-6X", "Mesa-6X-Cen", "Mesa-600X", "Mesa-6000X"), CO2 = c("0.810", "0.630", "1.170", "0.882", "0.720", "0.377
geom_line()
命令时,我很难将图例添加回图形。以下是一些可复制的数据:
df <- data.frame(Sample = c("Mesa-6X", "Mesa-6X-Cen", "Mesa-600X", "Mesa-6000X", "Mesa-6X", "Mesa-6X-Cen", "Mesa-600X", "Mesa-6000X"),
CO2 = c("0.810", "0.630", "1.170", "0.882", "0.720", "0.377", "0.521", "0.444"),
Log = c(rep(1.68, 4), rep(2.2, 4)),
Colors = rep(c("tomato", "blue", "darkmagenta", "black"), 2))
我的代码:
这段代码添加了一个图例没有问题,但它拒绝使用df$Colors列为其着色,而是默认为其着色-这是一种彩虹类型的颜色。在这里,geom_point()
起作用。很好。我要做的图形是这个图形,但是线条的颜色是正确的
ggplot(df,
aes(x = Log,
y = CO2,
color = df$Colors,
group = Sample)) +
geom_line(data = df,
aes(color = df$Sample),
size = 1.2) +
geom_point(color = "black", size = 1.2)
顺便说一下:class(df$Colors)
=系数
非常感谢您的见解和帮助 尝试使用
缩放颜色\u手册:
color_palette <-
c("Mesa-6X" = "tomato", "Mesa-6X-Cen" = "blue", "Mesa-600X" = "darkmagenta", "Mesa-6000X" = "black")
df %>%
ggplot(aes(x = Log, y = CO2, color = Sample, group = Sample), size = 1.2) +
geom_line() +
geom_point() +
scale_color_manual(values = color_palette)
调色板%
ggplot(aes(x=对数,y=二氧化碳,颜色=样品,组=样品),大小=1.2)+
几何线()
几何点()+
缩放颜色手册(值=调色板)
FYI您不必在aes中使用df$
您通常不应该在aes中使用$,请参见?缩放颜色标识
cardinal40:感谢您的回复;但是,该代码不起作用。它制作了一个图表,但所有的线条都是黑色的,没有任何图例。而且,size=1.2
也不起作用。我甚至尝试了scale\u color\u手册(values=df$Colors
),但都没有用。
color_palette <-
c("Mesa-6X" = "tomato", "Mesa-6X-Cen" = "blue", "Mesa-600X" = "darkmagenta", "Mesa-6000X" = "black")
df %>%
ggplot(aes(x = Log, y = CO2, color = Sample, group = Sample), size = 1.2) +
geom_line() +
geom_point() +
scale_color_manual(values = color_palette)