Re: Re: Superposer un histogramme, une courbe et leurs étiquettes
Pardon, je n'avais pas vu que tu voulais une double échelle (à mon avis, à proscrire car ca induit souvent
en erreur, mais bon).
Tiens, voilà le schéma commenté. Mais encore une fois: excel + photoshop...
op = par(cex.axis = .75)
# Premier graphique: les barres
plot (data[,1], data[,2], ylim=c(0,175), type="h", xlab="", ylab="", lwd=15, col="lightblue",
main="Le graphique de Pierre", xaxt="n", yaxt="n", bg="grey")
# Le quadrillage
grid()
# Les axes x et y
axis(side=1, at=c(2003:2010), tck=-0.015, labels=FALSE)
text(c(2003:2010), par("usr")[3]-10, srt=45, adj=1, labels=c(2003:2010),xpd=T, cex=0.85)
axis(side=2, at=seq(0,150, by=50), tck=-0.015, labels=c("0","50", "100", "150"), las=1, cex=.5)
# Les titres
mtext("Valeur de plouf de 2003 à 2010", side=3, line=.5, cex=.85)
mtext("Sources=Plouf/plouf", side=1, line=3.5, cex=.65)
# La boucle pour les étiquettes
for (i in c(1:8)) {
text (2002+i, data[i,2]+11, data[i,2], cex=.65)
}
# Appelle un nouveau graphique (superpose)
par(new=T)
op = par(cex.axis = .7)
plot(data[,1], data[,3], type="o",col="darkred",yaxt="n", lty=3, xaxt="n", xlab="", ylab="",
xlim=c(2003,2010), ylim=c(0,35))
axis(side=4, at=seq(0,35, by=5), tck=-0.015, labels=c("0","5", "10", "15", "20", "25", "30", "35"), las=1)
par(op)
for (i in c(1:8)) {
text (2002+i, data[i,3]-2, data[i,3], col="darkred",cex=.5)
}
par(op)
On Feb 3, 2012, at 5:21 PM, Pierre de Larminat wrote:
> Avec la photo du graphique recherché:
> <graphique.pdf>
>
> Le 3 févr. 2012 à 17:20, Pierre de Larminat a écrit :
>
>> Bonjour à toutes et à tous,
>> Quelqu'un saurait-il faire le graphique ci-joint?
>> On y trouve le "nombre" en histogramme, avec les valeurs numériques en étiquettes,
>> et le "volume" en courbe (comme un "plot" de type "b"), avec aussi les valeurs numériques en étiquettes.
>>
>> Dans un monde idéal, "volume" et "nombre" seraient représentés avec des couleurs différentes.
>>
>> #Voici les données:
>> annee<-factor(2003:2010)
>> nombre<-c(44, 106, 143, 115, 130, 106, 85, 89)
>> volume<-c(6.8, 22.7, 14.6, 10.8, 26.9, 18.2, 19.4, 30.5)
>> data<-data.frame(annee, nombre, volume)
>> str(data)
>> data
>>
>> #Voici ma tentative sur la première partie du graphique:
>> nombre<-data$nombre
>> names(nombre) <- data$annee
>> bar<-barplot(nombre, ylim = c(0, max(nombre)*1.2))
>> text(bar, nombre+3, labels = nombre)
>>
>> # Pour la suite, mes tentatives restent infructueuses.
>>
>> Merci.
>> Pierre.
>
>
> --
> Liste des utilisateurs de R en sciences sociales
> Informations / options / désabonnement :
> https://listes.cru.fr/sympa/info/r-soc
>
--
--
Liste des utilisateurs de R en sciences sociales
Informations / options / désabonnement :
https://listes.cru.fr/sympa/info/r-soc