Je cherche à réaliser un graphique générique permettant des visualiser les évolutions des importations et exportations, en quantité et en valeur, d'une espèce donnée. Mon graphique est donc composé d'un axe principal (données en quantité) et d'un axe secondaire (données en valeur).
Or il se trouve que pour certaines espèces, les zéros des axes principaux et secondaires sont décalés alors que j'aimerais qu'ils soient alignés (afin de faciliter la lecture du graphique). Pouvez vous m'aider ?
Voici un exemple de données avec lesquelles je rencontre ce problème:
Code : Tout sélectionner
Qte <- structure(c(11, 14, -3, 13, 15, -2, 13, 17, -4, 14, 17, -3, 13,
16, -3, 15, 23, -8, 16, 18, -2, 17, 19, -2, 17, 19, -2, 19, 22,
-3, 22, 26, -4, 22, 23, -1, 20, 17, 3, 19, 18, 1, 20, 20, 0,
22, 21, 1), .Dim = c(3L, 16L), .Dimnames = list(c("EXPORT", "IMPORT",
"BALANCE"), c("2000", "2001", "2002", "2003", "2004", "2005",
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013",
"2014", "2015")))
Val <- structure(c(31, 32, -1, 34, 38, -4, 39, 43, -4, 42, 44, -2, 43,
46, -3, 45, 53, -8, 55, 59, -4, 71, 66, 5, 63, 60, 3, 65, 67,
-2, 82, 82, 0, 100, 88, 12, 100, 81, 19, 111, 90, 21, 115, 98,
17, 118, 94, 24), .Dim = c(3L, 16L), .Dimnames = list(c("EXPORT",
"IMPORT", "BALANCE"), c("2000", "2001", "2002", "2003", "2004",
"2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012",
"2013", "2014", "2015")))
Et voici le script me permettant de réaliser le graphique:
Code : Tout sélectionner
library(RColorBrewer)
Liste_annee <- c(2000:2015)
couleur<-c(palette(brewer.pal(12,"Paired")))
par(mfrow=c(1,1))
par(mar=c(7,4,1,4.5),xpd = NA)
bp <- barplot(Qte, ylab="Quantity (1000 tonnes)", beside=T,
col=c(couleur[3],couleur[1],couleur[5]))
par(new=TRUE,mar=c(7,4,1,4.5),xpd = NA)
matplot(Liste_annee,t(Val),
type="o",lwd=2,pch=16,lty="dotdash",
col=c(couleur[4],couleur[2],couleur[6]),
xlab="",ylab="",axes=F)
axis(4)
legend(x=Liste_annee[1],y=min(Val)+2*min(Val),
legend = c("Q Export", "V Export", "Q Import", "V Import", "Q Balance", "V Balance"), ncol = 3,
col = c(couleur[3],couleur[4],couleur[1],couleur[2],couleur[5],couleur[6]),
pch = c(15,16), pt.cex=c(2,1), lty=c(NA,"dotdash"),
bty = "o", horiz = F)
text(Liste_annee[length(Liste_annee)]+1.5, 0, "Value (million euro)", pos = 4, srt = 90)
Merci d'avance pour votre aide
Bonne journée,
Eva