我有一组数据集,想要将其中一个变量绘制成点,其他变量则以不同的线型绘制为线条(每个变量用不同的颜色表示)。
这将生成所需的绘图: 然而,图例现在显示了所有三个变量的线型和形状,尽管不是所有变量都实际显示它们。
我该如何相应地删除线型或形状,以使图例与绘图显示一致?
a <- c(10:20)
df <- data.frame(a=a,b=a,c=a*a/10,d=10*sqrt(a))
df_melt <- reshape2::melt(df,id.vars='a')
ggplot(df_melt, aes(x=a,y=value,colour=variable,linetype=variable,shape=variable))+
geom_line(data=subset(df_melt,variable == "b"))+
geom_line(data=subset(df_melt,variable == "c"))+
geom_point(data=subset(df_melt,variable == "d"))
这将生成所需的绘图: 然而,图例现在显示了所有三个变量的线型和形状,尽管不是所有变量都实际显示它们。
我该如何相应地删除线型或形状,以使图例与绘图显示一致?