在ggplot2中创建多线图时,如何使一根线比另一根线更粗?

use*_*887 2 r ggplot2

我有一个简单的融化数据框,其中包含5个变量,并在ggplot2的多线图中绘制。我在下面发布了我的代码,我觉得这个问题的答案应该很简单,但是我找不到答案。

如果我在同一张图表上同时绘制5条线,是否可以使其中一条线(在这种情况下为均值)比其他线更大/更大?

如您在底部的代码中所看到的,我将线的大小指定为2,这使所有5条线的大小都为2。但是我希望具有均值线(在刻度颜色中指定为黑色的线)函数)变得比其他行大。

我尝试将大小设置为,size = c(2,2,2,2,3)但是ggplot2不喜欢那样。

   FiveLineGraph <- ggplot(data= df, aes(x= Date, y=Temperature, group= model, colour= model)) +
  geom_line(size= 2) +
  scale_colour_manual(values = c("red","blue", "green", "gold","black"))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

非常感谢您的帮助。

谢谢。

cor*_*ory 5

我添加了数据,使其成为“可复制的示例”。这种技术也可以用于线条的颜色。

library("ggplot2")
set.seed(99)
df <- data.frame(x=c(1:5, 1:5, 1:5), y=rnorm(15, 10, 2), 
                 group=c(rep("A", 5), rep("B", 5), rep("C", 5)),
                 stringsAsFactors=FALSE)
ggplot(df, aes(x=x, y=y, group=group, colour=group)) + geom_line(size=2)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

df$mysize <- rep(2, nrow(df))
df$mysize[df$group=="B"] <- 4
ggplot(df, aes(x=x, y=y, colour=group, size=mysize)) + geom_line() + 
  scale_size(range = c(2, 4), guide="none")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • 也解决了我的问题。不过有一个问题。如果我希望图例上的线条(显示 A、B 和 C 的颜色线的线条)使用相同的粗细怎么办? (2认同)