ggplot2 et tracés de courbes

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Patricia OBEID
Messages : 68
Enregistré le : 10 Avr 2017, 19:03

ggplot2 et tracés de courbes

Messagepar Patricia OBEID » 10 Jan 2022, 18:20

Bonsoir
je me replonge dans ggplot2 pour tracer plusieurs courbes sur le même graphique.
Alors que les points sont bien tracés, je n'arrive pas à les relier entre eux.
Le message d'erreur ne me parle pas ...
geom_path: Each group consists of only one observation. Do you need to adjust the group
aesthetic?
Erreur : Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?

Voici mes datas

Code : Tout sélectionner

structure(list(Cond = c("BxPC3_d1_LP1%", "BxPC3_d1_LP1%_CE",
"BxPC3_d1_LP2,5%", "BxPC3_d1_LP2,5%_CE", "BxPC3_d1_SVF", "BxPC3_d1_SVF_CE",
"BxPC3_d2_LP1%", "BxPC3_d2_LP1%_CE", "BxPC3_d2_LP2,5%", "BxPC3_d2_LP2,5%_CE",
"BxPC3_d2_SVF", "BxPC3_d2_SVF_CE", "BxPC3_d3_LP1%", "BxPC3_d3_LP1%_CE",
"BxPC3_d3_LP2,5%", "BxPC3_d3_LP2,5%_CE", "BxPC3_d3_SVF", "BxPC3_d3_SVF_CE",
"BxPC3_d4_LP1%", "BxPC3_d4_LP1%_CE", "BxPC3_d4_LP2,5%", "BxPC3_d4_LP2,5%_CE",
"BxPC3_d4_SVF", "BxPC3_d4_SVF_CE", "H6c7_d1_KSFM", "H6c7_d1_KSFM_CE",
"H6c7_d2_KSFM", "H6c7_d2_KSFM_CE", "H6c7_d3_KSFM", "H6c7_d3_KSFM_CE",
"H6c7_d4_KSFM", "H6c7_d4_KSFM_CE", "PANC1_d1_LP1%", "PANC1_d1_LP1%_CE",
"PANC1_d1_LP2,5%", "PANC1_d1_LP2,5%_CE", "PANC1_d1_SVF", "PANC1_d1_SVF_CE",
"PANC1_d2_LP1%", "PANC1_d2_LP1%_CE", "PANC1_d2_LP2,5%", "PANC1_d2_LP2,5%_CE",
"PANC1_d2_SVF", "PANC1_d2_SVF_CE", "PANC1_d3_LP1%", "PANC1_d3_LP1%_CE",
"PANC1_d3_LP2,5%", "PANC1_d3_LP2,5%_CE", "PANC1_d3_SVF", "PANC1_d3_SVF_CE",
"PANC1_d4_LP1%", "PANC1_d4_LP1%_CE", "PANC1_d4_LP2,5%", "PANC1_d4_LP2,5%_CE",
"PANC1_d4_SVF", "PANC1_d4_SVF_CE"), day = c("d1", "d1", "d1",
"d1", "d1", "d1", "d2", "d2", "d2", "d2", "d2", "d2", "d3", "d3",
"d3", "d3", "d3", "d3", "d4", "d4", "d4", "d4", "d4", "d4", "d1",
"d1", "d2", "d2", "d3", "d3", "d4", "d4", "d1", "d1", "d1", "d1",
"d1", "d1", "d2", "d2", "d2", "d2", "d2", "d2", "d3", "d3", "d3",
"d3", "d3", "d3", "d4", "d4", "d4", "d4", "d4", "d4"), Cond4 = c("BxPC3_LP1%",
"BxPC3_LP1%_CE", "BxPC3_LP2,5%", "BxPC3_LP2,5%_CE", "BxPC3_SVF",
"BxPC3_SVF_CE", "BxPC3_LP1%", "BxPC3_LP1%_CE", "BxPC3_LP2,5%",
"BxPC3_LP2,5%_CE", "BxPC3_SVF", "BxPC3_SVF_CE", "BxPC3_LP1%",
"BxPC3_LP1%_CE", "BxPC3_LP2,5%", "BxPC3_LP2,5%_CE", "BxPC3_SVF",
"BxPC3_SVF_CE", "BxPC3_LP1%", "BxPC3_LP1%_CE", "BxPC3_LP2,5%",
"BxPC3_LP2,5%_CE", "BxPC3_SVF", "BxPC3_SVF_CE", "H6c7_KSFM",
"H6c7_KSFM_CE", "H6c7_KSFM", "H6c7_KSFM_CE", "H6c7_KSFM", "H6c7_KSFM_CE",
"H6c7_KSFM", "H6c7_KSFM_CE", "PANC1_LP1%", "PANC1_LP1%_CE", "PANC1_LP2,5%",
"PANC1_LP2,5%_CE", "PANC1_SVF", "PANC1_SVF_CE", "PANC1_LP1%",
"PANC1_LP1%_CE", "PANC1_LP2,5%", "PANC1_LP2,5%_CE", "PANC1_SVF",
"PANC1_SVF_CE", "PANC1_LP1%", "PANC1_LP1%_CE", "PANC1_LP2,5%",
"PANC1_LP2,5%_CE", "PANC1_SVF", "PANC1_SVF_CE", "PANC1_LP1%",
"PANC1_LP1%_CE", "PANC1_LP2,5%", "PANC1_LP2,5%_CE", "PANC1_SVF",
"PANC1_SVF_CE"), Mean = c(91.3467, 97.1867, 130.68, 133.4, 86.9467,
79.3467, 131.933, 138.76, 182.707, 190.213, 124.307, 116.613,
160.92, 160.773, 221.187, 234.04, 190.187, 178.293, 204.44, 239.747,
254.387, 289.187, 295.707, 264.427, 149.653, 143.373, 278.373,
266.453, 493.707, 465.373, 832.147, 880.733, 130.48, 157.22,
136.601, 392.493, 155.627, 538.287, 198.787, 322.373, 219.96,
606.94, 218.053, 712.04, 139.813, 202.893, 128.313, 562.06, 171.3,
641.765, 178.433, 312.693, 195.207, 601.947, 240.487, 650.08),
    Median = c(90, 88, 125, 128, 86, 73, 131, 133, 167, 189,
    119, 115, 158, 155, 202, 232, 184, 170, 187, 208, 221, 278,
    292, 244, 146, 137, 283, 266, 492, 480, 812, 881, 116.5,
    142.5, 126, 367.5, 147.5, 376.5, 170, 269, 171, 517.5, 208.5,
    610.5, 115, 124, 106.5, 395, 115, 112, 154.5, 178, 166.5,
    363.5, 201.5, 618.5), SD = c(29.0077, 41.8142, 35.3707, 41.9137,
    24.5125, 28.195, 41.458, 52.8217, 55.7819, 61.3165, 32.1727,
    37.638, 60.0328, 68.5634, 86.839, 102.911, 76.1926, 64.778,
    87.1166, 157.469, 123.856, 172.103, 123.731, 121.765, 44.1507,
    46.3351, 62.5604, 69.9759, 85.5584, 96.836, 140.895, 140.704,
    62.6198, 70.8537, 77.1024, 206.965, 58.0437, 384.134, 90.2848,
    209.131, 119.985, 279.668, 81.7626, 452.689, 84.8108, 143.239,
    61.9474, 493.722, 139.934, 578.126, 85.1583, 239.308, 89.8704,
    487.558, 147.73, 536.873)), class = "data.frame", row.names = c(NA,
-56L))



et mon script :

Code : Tout sélectionner

x11()
p <- ggplot2(Stat_CellNb2, aes(x=day, y=Mean, colour=Cond4))+
  geom_line() +
  geom_point()
  scale_color_discrete() +
print(p)


Merci de votre aide et très bonne soirée
Patricia

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: ggplot2 et tracés de courbes

Messagepar Mickael Canouil » 10 Jan 2022, 19:56

Bonjour,

votre variable "day" contient des chaînes de caractères, donc des facteurs pour {ggplot2}.
Comme cela n'a aucun sens de relier des modalités dans 99 % des cas et {ggplot2} étant aussi de cet avis, il renvoi une erreur puisque pour lui, une modalité en x avec une valeur continue en y n'a rien à voir avec une autre modalité en x.

Si on rend la variable en x numérique, c'est autre chose :

Code : Tout sélectionner

df <- structure(list(Cond = c("BxPC3_d1_LP1%", "BxPC3_d1_LP1%_CE",
"BxPC3_d1_LP2,5%", "BxPC3_d1_LP2,5%_CE", "BxPC3_d1_SVF", "BxPC3_d1_SVF_CE",
"BxPC3_d2_LP1%", "BxPC3_d2_LP1%_CE", "BxPC3_d2_LP2,5%", "BxPC3_d2_LP2,5%_CE",
"BxPC3_d2_SVF", "BxPC3_d2_SVF_CE", "BxPC3_d3_LP1%", "BxPC3_d3_LP1%_CE",
"BxPC3_d3_LP2,5%", "BxPC3_d3_LP2,5%_CE", "BxPC3_d3_SVF", "BxPC3_d3_SVF_CE",
"BxPC3_d4_LP1%", "BxPC3_d4_LP1%_CE", "BxPC3_d4_LP2,5%", "BxPC3_d4_LP2,5%_CE",
"BxPC3_d4_SVF", "BxPC3_d4_SVF_CE", "H6c7_d1_KSFM", "H6c7_d1_KSFM_CE",
"H6c7_d2_KSFM", "H6c7_d2_KSFM_CE", "H6c7_d3_KSFM", "H6c7_d3_KSFM_CE",
"H6c7_d4_KSFM", "H6c7_d4_KSFM_CE", "PANC1_d1_LP1%", "PANC1_d1_LP1%_CE",
"PANC1_d1_LP2,5%", "PANC1_d1_LP2,5%_CE", "PANC1_d1_SVF", "PANC1_d1_SVF_CE",
"PANC1_d2_LP1%", "PANC1_d2_LP1%_CE", "PANC1_d2_LP2,5%", "PANC1_d2_LP2,5%_CE",
"PANC1_d2_SVF", "PANC1_d2_SVF_CE", "PANC1_d3_LP1%", "PANC1_d3_LP1%_CE",
"PANC1_d3_LP2,5%", "PANC1_d3_LP2,5%_CE", "PANC1_d3_SVF", "PANC1_d3_SVF_CE",
"PANC1_d4_LP1%", "PANC1_d4_LP1%_CE", "PANC1_d4_LP2,5%", "PANC1_d4_LP2,5%_CE",
"PANC1_d4_SVF", "PANC1_d4_SVF_CE"), day = c("d1", "d1", "d1",
"d1", "d1", "d1", "d2", "d2", "d2", "d2", "d2", "d2", "d3", "d3",
"d3", "d3", "d3", "d3", "d4", "d4", "d4", "d4", "d4", "d4", "d1",
"d1", "d2", "d2", "d3", "d3", "d4", "d4", "d1", "d1", "d1", "d1",
"d1", "d1", "d2", "d2", "d2", "d2", "d2", "d2", "d3", "d3", "d3",
"d3", "d3", "d3", "d4", "d4", "d4", "d4", "d4", "d4"), Cond4 = c("BxPC3_LP1%",
"BxPC3_LP1%_CE", "BxPC3_LP2,5%", "BxPC3_LP2,5%_CE", "BxPC3_SVF",
"BxPC3_SVF_CE", "BxPC3_LP1%", "BxPC3_LP1%_CE", "BxPC3_LP2,5%",
"BxPC3_LP2,5%_CE", "BxPC3_SVF", "BxPC3_SVF_CE", "BxPC3_LP1%",
"BxPC3_LP1%_CE", "BxPC3_LP2,5%", "BxPC3_LP2,5%_CE", "BxPC3_SVF",
"BxPC3_SVF_CE", "BxPC3_LP1%", "BxPC3_LP1%_CE", "BxPC3_LP2,5%",
"BxPC3_LP2,5%_CE", "BxPC3_SVF", "BxPC3_SVF_CE", "H6c7_KSFM",
"H6c7_KSFM_CE", "H6c7_KSFM", "H6c7_KSFM_CE", "H6c7_KSFM", "H6c7_KSFM_CE",
"H6c7_KSFM", "H6c7_KSFM_CE", "PANC1_LP1%", "PANC1_LP1%_CE", "PANC1_LP2,5%",
"PANC1_LP2,5%_CE", "PANC1_SVF", "PANC1_SVF_CE", "PANC1_LP1%",
"PANC1_LP1%_CE", "PANC1_LP2,5%", "PANC1_LP2,5%_CE", "PANC1_SVF",
"PANC1_SVF_CE", "PANC1_LP1%", "PANC1_LP1%_CE", "PANC1_LP2,5%",
"PANC1_LP2,5%_CE", "PANC1_SVF", "PANC1_SVF_CE", "PANC1_LP1%",
"PANC1_LP1%_CE", "PANC1_LP2,5%", "PANC1_LP2,5%_CE", "PANC1_SVF",
"PANC1_SVF_CE"), Mean = c(91.3467, 97.1867, 130.68, 133.4, 86.9467,
79.3467, 131.933, 138.76, 182.707, 190.213, 124.307, 116.613,
160.92, 160.773, 221.187, 234.04, 190.187, 178.293, 204.44, 239.747,
254.387, 289.187, 295.707, 264.427, 149.653, 143.373, 278.373,
266.453, 493.707, 465.373, 832.147, 880.733, 130.48, 157.22,
136.601, 392.493, 155.627, 538.287, 198.787, 322.373, 219.96,
606.94, 218.053, 712.04, 139.813, 202.893, 128.313, 562.06, 171.3,
641.765, 178.433, 312.693, 195.207, 601.947, 240.487, 650.08),
    Median = c(90, 88, 125, 128, 86, 73, 131, 133, 167, 189,
    119, 115, 158, 155, 202, 232, 184, 170, 187, 208, 221, 278,
    292, 244, 146, 137, 283, 266, 492, 480, 812, 881, 116.5,
    142.5, 126, 367.5, 147.5, 376.5, 170, 269, 171, 517.5, 208.5,
    610.5, 115, 124, 106.5, 395, 115, 112, 154.5, 178, 166.5,
    363.5, 201.5, 618.5), SD = c(29.0077, 41.8142, 35.3707, 41.9137,
    24.5125, 28.195, 41.458, 52.8217, 55.7819, 61.3165, 32.1727,
    37.638, 60.0328, 68.5634, 86.839, 102.911, 76.1926, 64.778,
    87.1166, 157.469, 123.856, 172.103, 123.731, 121.765, 44.1507,
    46.3351, 62.5604, 69.9759, 85.5584, 96.836, 140.895, 140.704,
    62.6198, 70.8537, 77.1024, 206.965, 58.0437, 384.134, 90.2848,
    209.131, 119.985, 279.668, 81.7626, 452.689, 84.8108, 143.239,
    61.9474, 493.722, 139.934, 578.126, 85.1583, 239.308, 89.8704,
    487.558, 147.73, 536.873)), class = "data.frame", row.names = c(NA,
-
56L))

library("ggplot2")
ggplot(df) +
  aes(= as.numeric(sub("^d", "", day)), y = Mean, colour = Cond4) +
  geom_line() +
  geom_point()


Image

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Patricia OBEID
Messages : 68
Enregistré le : 10 Avr 2017, 19:03

Re: ggplot2 et tracés de courbes

Messagepar Patricia OBEID » 11 Jan 2022, 05:39

Bonjour Mickael
Merci bcp de votre aide.
Bonne journée ;-)
Cordialement
Patricia


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité