Tracer une courbe sans abscisse
Bonjour,
Je rencontre une difficulté pour tracer un graphique, je possède le tableau suivant :
LOT |
pH 1 |
pH 2 |
pH 3 |
1 |
6,45 |
6,38 |
6,20 |
2 |
6,49 |
6,35 |
6,15 |
3 |
6,50 |
6,40 |
6,25 |
Je souhaiterai tracer sur un graphique avec trois courbes, une pour chaque lot. Une courbe représente l'évolution du pH (pH 1, 2 puis 3). Il n'y a donc pas d'abscisse dans le graphe mais seulement l'évolution de l'ordonnée. Je ne vois pas comment rédiger ce script avec un plot car l'absence d'abscisse pose problème.
Avez vous une idée de comment tracer un tel graphique s'il vous plait ?
Merci pour votre aide.
Jonathan
Tracer une courbe sans abscisse
Bonjour Jonathan,
Voici une proposition :
Code:
1 2 3 4 5 6 7 8 9
| > df<-data.frame(LOT=c(1,2,3),
+ pH1=c(6.4,6.3,6.2),
+ pH2=c(5.4,5.3,5.2),
+ pH3=c(4.4,4.3,4.2))
> df
LOT pH1 pH2 pH3
1 1 6.4 5.4 4.4
2 2 6.3 5.3 4.3
3 3 6.2 5.2 4.2 |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| > library(reshape2)
> df <- melt(df,id="LOT")
> names(df) <- c("timevar","pH","LOT")
> df
timevar pH LOT
1 1 pH1 6.4
2 2 pH1 6.3
3 3 pH1 6.2
4 1 pH2 5.4
5 2 pH2 5.3
6 3 pH2 5.2
7 1 pH3 4.4
8 2 pH3 4.3
9 3 pH3 4.2 |
Code:
1 2 3 4 5 6 7 8 9 10
| > df <- reshape(data=df,
+ idvar="pH",
+ v.names="LOT",
+ timevar="timevar",
+ direction="wide")
> df
pH LOT.1 LOT.2 LOT.3
1 pH1 6.4 6.3 6.2
4 pH2 5.4 5.3 5.2
7 pH3 4.4 4.3 4.2 |
Code:
1 2 3 4
| library(lattice)
xyplot(LOT.1 + LOT.2 + LOT.3 ~ pH, data = df, type = "b",
auto.key = list(columns = 3),
xlab="", ylab="pH") |
Cordialement,