Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在趋势线的ggplot中添加单独的图例_R_Ggplot2 - Fatal编程技术网

R 在趋势线的ggplot中添加单独的图例

R 在趋势线的ggplot中添加单独的图例,r,ggplot2,R,Ggplot2,我正在用趋势线在ggplot2中绘制线图,其中geom\u线,geom\u点和geom\u平滑。我的代码与此类似 year <- as.character(2011:2020) x <- c(12, 13, 12.5, 14, 15, 17, 16, 18, 18, 19) y <- c(25, 28, 30, 27, 30, 31, 30, 31, 33, 33) dat <- data.frame(year, x, y) %>% pivot_longer

我正在用趋势线在
ggplot2
中绘制线图,其中
geom\u线
geom\u点
geom\u平滑
。我的代码与此类似

year <- as.character(2011:2020)
x <- c(12, 13, 12.5, 14, 15, 17, 16, 18, 18, 19)
y <- c(25, 28, 30, 27, 30, 31, 30, 31, 33, 33)

dat <- data.frame(year, x, y) %>% 
  pivot_longer(cols = c(x,y), names_to = "item", values_to = "price")

ggplot(dat,  aes(x=year, y=price, group=item, col=item))+
  geom_line()+
  geom_point(aes(shape=item))+
  geom_smooth(method = "loess", se = FALSE, size=0.8, linetype="dotdash")+
  labs(x = "Year", 
       y = "Price")

year这里有一种可能的方法来获取
geom_smooth
的自定义图例

首先,您需要添加
linetype
作为
geom\u smooth
aes
的参数。然后,您可以使用
scale\u linetype\u manual
对其进行自定义,以获得两个标签
x
y
,并使用不同的名称,以便与
项目
图例分开

使用
辅助线
,您可以修改此图例并添加与
几何点
几何线
使用的颜色图案相同的颜色图案:

ggplot(dat,aes(x=年份,y=价格,组=项目,颜色=项目))+
geom_线()+
几何点(aes(形状=项目))+
geom_光滑(aes(线型=项目),方法=“黄土”,se=假,尺寸=0.8)+
实验室(x=“年”,
y=“价格”)+
比例\线型\手册(值=c(“点划线”,“点划线”),名称=“趋势线”,标签=c(“x”,“y”))+
辅助线(线型=辅助线\图例(override.aes=列表(线型=c(“点划线”,“点划线”),颜色=比例::色调\颜色()

它看起来像你想要的吗