J'ai construit un graphique à partir du code ci-dessous, j'obtiens exactement ce que je veux à un détail près : la symbologie de la légende ne respecte pas la symbologie du graphique. C'est à dire que j'ai des courbes en trait plein et des courbes en pointillés qui s'affichent sur mon graphique, mais dans la légende toutes les courbes sont représentées en trait plein...
Code : Tout sélectionner
plot2017=ggplot(suivi_humidite_2017, aes(x=Date, y=XX01_a))+
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX01_a,color="XX01_a"), size=0.5)+
### Si je mets linetype dans les aes les courbes ne s'affichent pas en pointillés mais en trait plein ###
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX01_d,color="XX01_d"), size=0.5, linetype="dashed")+
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX02_a,color="XX02_a"), size=0.5)+
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX02_d,color="XX02_d"), size=0.5, linetype="dashed")+
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX03_a,color="XX03_a"), size=0.5)+
geom_smooth(method = "auto", se=F, aes(x=Date, y=XX03_d,color="XX03_d"), size=0.5, linetype="dashed")+
scale_y_continuous("% humidite")+
ggtitle("idsite_2017")+
theme(plot.title = element_text(size=10),
legend.title=element_blank(),
legend.key=element_rect(fill=NA),
legend.text = element_text(size=10),
axis.title.x = element_blank(),
axis.text.x=element_text(size=10, vjust=0.5,colour="black"),
axis.text.y=element_text(size=10, vjust=0.5,colour="black"),
axis.title.y = element_text(colour="black", size=11,vjust=2),
panel.background = element_rect(fill = 'white'),
panel.grid.major = element_line(colour = "gray80", size=0.25),
panel.grid.minor = element_line(colour = "gray80", size=0.25),
axis.ticks.y = element_blank(),
axis.ticks.x = element_blank(),
axis.line = element_line(colour = "black", size = 0.25, linetype = "solid"))+
scale_x_date(date_breaks = "1 month", date_labels = "%b")+
guides(colour = guide_legend(override.aes = list(size=0.5, fill=NA)))+
scale_colour_manual(name='', values=c('XX01_a'='dodgerblue',
'XX01_d'='dodgerblue',
'XX02_a'='firebrick1',
'XX02_d'='firebrick1',
'XX03_a'='forestgreen',
'XX03_d'='forestgreen'))
Mes tentatives pour résoudre le problème :
J'ai essayé d'utiliser la fonction scale mais ça ne marche pas, sur les graphiques les courbes s'affichent toujours comme souhaité mais la légende n'a pas changé :
Code : Tout sélectionner
# Essai 1
plot2017 + scale_linetype_manual(name='', values=c('XX01_d'='dashed','XX02_d'='dashed','XX03_d'='dashed'))
# Essai 2
plot2017 + scale_linetype_manual(values=c("solid","dashed","solid","dashed","solid","dashed"))
J'ai essayé en utilisant la fonction guide_legend qui pourtant est censé controler la légende mais sans succès :
Code : Tout sélectionner
plot2017 + guides(linetype = guide_legend(override.aes = list(values=c('XX01_d'='dashed','XX02_d'='dashed','XX03_d'='dashed'))))
J'ai cherché d'autres idées sur internet mais en vain, j'espère vraiment que vous pourrez m'aider.
Merci d'avance pour le temps que vous consacrerez à me répondre.
Harmonie