[R] ggplot trouble when I combine a layer with group and a layer with group=1
Laurent Rhelp
|@urentRHe|p @end|ng |rom |ree@|r
Tue Apr 15 19:42:25 CEST 2025
For interested people I got an answer on this link, thank you.
https://stackoverflow.com/questions/79573847/ggplot-trouble-when-i-combine-a-layer-with-group-and-a-layer-with-group-1?noredirect=1#comment140334381_79573847
Le 12/04/2025 à 17:24, Laurent Rhelp a écrit :
> Dear RHelp-list,
>
> I want to combine with ggplot2 a layer where I compare
> three regressions and a layer where I just display three
> new samples to evaluate their locations to the regressions lines.
> (the mock data is placed at the end of the mail)
>
>
> # 1. comparison of the three regressions (it works)
> #
> # Using group, I plot firstly the three regressions for comparison
> # with the regression line and the samples used to do the
> # regression
> ##
> library(ggplot2)
> p1 <- ggplot( data = ci_95
> , aes(x=x, y=fit
> , group = cond1
> , colour = cond1
> , fill = cond1)) +
> geom_ribbon( data = ci_95
> , aes(
> x = x
> , ymin = lwr
> , ymax = upr)
> , alpha = 0.3
> , linetype = 0
> ) +
> geom_line(data=ci_95, aes(x=x,y=fit)) +
> # add the samples used for the regressions
> geom_point(data = data_gg
> , aes(x=x,y=y
> , col = cond1))
> # it works
> print(p1)
>
> # Then, in a separate graph, I look at the four new samples :
> p2 <- ggplot() + geom_point(data=mydata
> , aes(x=x,y=y
> ,col=new_sample_name)
> )
> # it works
> print(p2)
>
>
> # But now I want to overlay the comparison and the new samples
> # To display the new samples I did exactly the same graph but I added
> group=1
> # it doesn't work
> p3 <- p1 + geom_point(data=mydata
> , aes(x=x,y=y
> , group=1
> ,col=new_sample_name)
> )
> print(p3)
>
> I don't understand what's happen.
> I don't understand the legends !!!
> Why isn't there new_sample_name ?
>
> Thank you
>
> Best regards
>
> Laurent
>
>
> ##------- the mock data ---------------------------
>
> ci_95 <-
> structure(list(cond1 = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
> 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
> 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
> 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
> 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), levels =
> c("gr1",
> "gr2", "gr3"), class = "factor"), x = c(0, 5, 10, 15, 20, 25,
> 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100,
> 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165,
> 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230,
> 235, 240, 245, 250, 255, 260, 265, 270, 0, 5, 10, 15, 20, 25,
> 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100,
> 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165,
> 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230,
> 235, 240, 245, 250, 255, 260, 265, 270, 0, 5, 10, 15, 20, 25,
> 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100,
> 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165,
> 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230,
> 235, 240, 245, 250, 255, 260, 265, 270), fit = c(0, 4.9418680120587464,
> 9.8837360241174927, 14.825604036176239, 19.767472048234985,
> 24.709340060293734,
> 29.651208072352478, 34.593076084411223, 39.534944096469971,
> 44.476812108528719,
> 49.418680120587467, 54.360548132646215, 59.302416144704956,
> 64.244284156763712,
> 69.186152168822446, 74.128020180881194, 79.069888192939942,
> 84.01175620499869,
> 88.953624217057438, 93.895492229116186, 98.837360241174935,
> 103.77922825323368,
> 108.72109626529243, 113.66296427735116, 118.60483228940991,
> 123.54670030146866,
> 128.48856831352742, 133.43043632558616, 138.37230433764489,
> 143.31417234970365,
> 148.25604036176239, 153.19790837382115, 158.13977638587988,
> 163.08164439793865,
> 168.02351240999738, 172.96538042205614, 177.90724843411488,
> 182.84911644617361,
> 187.79098445823237, 192.73285247029111, 197.67472048234987,
> 202.6165884944086,
> 207.55845650646737, 212.5003245185261, 217.44219253058486,
> 222.3840605426436,
> 227.32592855470233, 232.26779656676109, 237.20966457881983,
> 242.15153259087859,
> 247.09340060293732, 252.03526861499608, 256.97713662705485,
> 261.91900463911355,
> 266.86087265117231, 0, 5.3286116058825348, 10.65722321176507,
> 15.985834817647605, 21.314446423530139, 26.643058029412675,
> 31.971669635295211,
> 37.300281241177743, 42.628892847060278, 47.957504452942814,
> 53.28611605882535,
> 58.614727664707885, 63.943339270590421, 69.271950876472957,
> 74.600562482355485,
> 79.929174088238028, 85.257785694120557, 90.5863973000031,
> 95.915008905885628,
> 101.24362051176817, 106.5722321176507, 111.90084372353324,
> 117.22945532941577,
> 122.5580669352983, 127.88667854118084, 133.21529014706337,
> 138.54390175294591,
> 143.87251335882846, 149.20112496471097, 154.52973657059351,
> 159.85834817647606,
> 165.1869597823586, 170.51557138824111, 175.84418299412366,
> 181.1727946000062,
> 186.50140620588871, 191.83001781177126, 197.1586294176538,
> 202.48724102353634,
> 207.81585262941886, 213.1444642353014, 218.47307584118394,
> 223.80168744706648,
> 229.130299052949, 234.45891065883154, 239.78752226471408,
> 245.1161338705966,
> 250.44474547647914, 255.77335708236168, 261.1019686882442,
> 266.43058029412674,
> 271.75919190000928, 277.08780350589183, 282.41641511177437,
> 287.74502671765691,
> 0, 5.0746119502607421, 10.149223900521484, 15.223835850782226,
> 20.298447801042968, 25.37305975130371, 30.447671701564452,
> 35.522283651825198,
> 40.596895602085937, 45.671507552346682, 50.746119502607421,
> 55.820731452868166,
> 60.895343403128905, 65.969955353389651, 71.044567303650396,
> 76.119179253911128,
> 81.193791204171873, 86.268403154432619, 91.343015104693364,
> 96.41762705495411,
> 101.49223900521484, 106.56685095547559, 111.64146290573633,
> 116.71607485599708,
> 121.79068680625781, 126.86529875651856, 131.9399107067793,
> 137.01452265704003,
> 142.08913460730079, 147.16374655756152, 152.23835850782226,
> 157.31297045808302,
> 162.38758240834375, 167.46219435860451, 172.53680630886524,
> 177.61141825912597,
> 182.68603020938673, 187.76064215964746, 192.83525410990822,
> 197.90986606016895,
> 202.98447801042968, 208.05908996069044, 213.13370191095117,
> 218.20831386121191,
> 223.28292581147267, 228.3575377617334, 233.43214971199416,
> 238.50676166225489,
> 243.58137361251562, 248.65598556277638, 253.73059751303711,
> 258.80520946329784,
> 263.8798214135586, 268.95443336381936, 274.02904531408007), lwr =
> c(-3.6272433922174332,
> 1.3144992249573315, 6.255991078370168, 11.19723224601222,
> 16.138222857778928,
> 21.078963095335556, 26.019453191929369, 30.959693432148967,
> 35.89968415163127,
> 40.839425736716933, 45.778918624054938, 50.718163300157428,
> 55.657160300905623,
> 60.595910211008274, 65.534413663413531, 70.472671338676079,
> 75.410683964280452,
> 80.348452313922508, 85.285977206750502, 90.223259506567416,
> 95.160300120996354,
> 100.09710000061095, 105.0336601380324, 109.96998156699527,
> 114.90606536138408,
> 119.84191263424225, 124.77752453675608, 129.71290225721518,
> 134.64804701995195,
> 139.5829600842616, 144.51764274330523, 149.45209632299799,
> 154.38632218088375,
> 159.32032170499946, 164.25409631272973, 169.18764744965497,
> 174.120976588394,
> 179.05408522744364, 183.98697489001663, 188.91964712288012,
> 193.85210349519622,
> 198.7843455973661, 203.71637503987989, 208.64819345217305,
> 213.57980248149158,
> 218.51120379176675, 223.44239906250132, 228.37338998766811,
> 233.30417827462216,
> 238.23476564302814, 243.16515382380331, 248.09534455807761,
> 253.02533959617151,
> 257.95514069659271, 262.88474962505251, -9.4081243666885896,
> -4.0798380024664249, 1.2477979458878838, 6.5747836806630477,
> 11.901119538773989, 17.22680599141307, 22.551843643562954,
> 27.876233233372304,
> 33.199975631395851, 38.523071839700599, 43.845522990840266,
> 49.167330346700574,
> 54.488495297217845, 59.809019358974176, 65.128904173672254,
> 70.448151506493559,
> 75.766763244343451, 81.084741393987457, 86.402088080082706,
> 91.718805543109099,
> 97.034896137204527, 102.35036232790932, 107.66520668982425,
> 112.97943190418755,
> 118.29304075637575, 123.60603613333357, 128.91842102093838,
> 134.2301985013039,
> 139.54137175002927, 144.85194403339824, 150.16191870553391,
> 155.47129920551453,
> 160.7800890544554, 166.08829185256261, 171.39591127616271,
> 176.70295107471458,
> 182.00941506780791, 187.31530714215288, 192.62063124856658,
> 197.92539139896002,
> 203.22959166333084, 208.53323616676551, 213.83632908645566,
> 219.1388746487325,
> 224.44087712612293, 229.74234083443122, 235.0432701298499,
> 240.34366940610312,
> 245.64354309162516, 250.94289564677808, 256.24173156111033,
> 261.54005535065932,
> 266.83787155530041, 272.13518473614454, 277.43199947298638,
> -3.6193222006905046,
> 1.4551646285242055, 6.5294012415960934, 11.603387716345988,
> 16.677124182385661,
> 21.750610820983649, 26.823847864877866, 31.896835598035416,
> 36.969574355360251,
> 42.042064522349335, 47.114306534698102, 52.186300877856233,
> 57.258048086534707,
> 62.329548744165358, 67.400803482314146, 72.471812980049506,
> 77.542577963267306,
> 82.613099203973817, 87.683377519528435, 92.753413771847747,
> 97.823208866572784,
> 102.89276375220133, 107.96207941918688, 113.03115689900655,
> 118.09999726319964,
> 123.16860162237896, 128.23697112521683, 133.30510695740787,
> 138.37301034061079,
> 143.4406825313707, 148.50812482002473, 153.57533852959244,
> 158.64232501465318,
> 163.70908566021262, 168.77562188056007, 173.84193511811912,
> 178.90802684229271,
> 183.97389854830516, 189.03955175604284, 194.10498800889508,
> 199.17020887259716,
> 204.23521593407727, 209.30001080030843, 214.36459509716778,
> 219.42897046830407,
> 224.49313857401481, 229.55710109013512, 234.62085970693843,
> 239.68441612805134,
> 244.74777206938307, 249.81092925807087, 254.87388943144242,
> 259.93665433599585,
> 264.99922572639866, 270.06160536450597), upr = c(3.6272433922174332,
> 8.5692367991601621, 13.511480969864817, 18.453975826340258,
> 23.396721238691043,
> 28.339717025251911, 33.282962952775584, 38.226458736673479,
> 43.170204041308672,
> 48.114198480340505, 53.058441617119996, 58.002932965135003,
> 62.94767198850429,
> 67.89265810251915, 72.83789067423136, 77.783369023086308,
> 82.729092421599432,
> 87.675060096074873, 92.621271227364375, 97.567724951664957,
> 102.51442036135352,
> 107.46135650585641, 112.40853239255246, 117.35594698770706,
> 122.30359921743575,
> 127.25148796869507, 132.19961209029879, 137.14797039395714,
> 142.09656165533784,
> 147.04538461514571, 151.99443798021954, 156.94372042464431,
> 161.89323059087602,
> 166.84296709087783, 171.79292850726503, 176.74311339445731,
> 181.69352027983575,
> 186.64414766490358, 191.59499402644812, 196.54605781770209,
> 201.49733746950352,
> 206.44883139145111, 211.40053797305484, 216.35245558487915,
> 221.30458257967814,
> 226.25691729352044, 231.20945804690334, 236.16220314585408,
> 241.11515088301749,
> 246.06829953872904, 251.02164738207134, 255.97519267191456,
> 260.92893365793816,
> 265.8828685816344, 270.83699567729212, 9.4081243666885896,
> 14.737061214231495,
> 20.066648477642254, 25.396885954632161, 30.727773308286288,
> 36.059310067412284,
> 41.391495627027467, 46.724329248983182, 52.057810062724705,
> 57.391937066185029,
> 62.726709126810434, 68.062124982715204, 73.39818324396299,
> 78.734882393971745,
> 84.072220791038717, 89.410196669982497, 94.748808143897662,
> 100.08805320601874,
> 105.42792973168855, 110.76843548042724, 116.10956809809687,
> 121.45132511915716,
> 126.7937039690073, 132.13670196640905, 137.48031632598594,
> 142.82454416079315,
> 148.16938248495345, 153.51482821635301, 158.86087817939267,
> 164.20752910778879,
> 169.55477764741821, 174.90262035920267, 180.25105372202682,
> 185.60007413568471,
> 190.94967792384969, 196.29986133706285, 201.6506205557346,
> 207.00195169315472,
> 212.3538507985061, 217.7063138598777, 223.05933680727196,
> 228.41291551560238,
> 233.76704580767731, 239.1217234571655, 244.47694419154016,
> 249.83270369499695,
> 255.1889976113433, 260.54582154685517, 265.90317107309818,
> 271.26104172971031,
> 276.61942902714316, 281.97832844935925, 287.33773545648324,
> 292.6976454874042,
> 298.05805396232745, 3.6193222006905046, 8.6940592719972791,
> 13.769046559446874,
> 18.844283985218464, 23.919771419700275, 28.995508681623772,
> 34.071495538251042,
> 39.14773170561498, 44.224216848811622, 49.300950582344029,
> 54.37793247051674,
> 59.4551620278801, 64.53263871972311, 69.610361962613936,
> 74.688331124986647,
> 79.766545527772749, 84.845004445076441, 89.92370710489142,
> 95.002652689858294,
> 100.08184033806047, 105.1612691438569, 110.24093815874984,
> 115.32084639228579,
> 120.40099281298761, 125.48137634931598, 130.56199589065815,
> 135.64285028834178,
> 140.72393835667219, 145.80525887399079, 150.88681058375235,
> 155.96859219561978,
> 161.05060238657359, 166.13283980203431, 171.21530305699639,
> 176.29799073717041,
> 181.38090140013281, 186.46403357648074, 191.54738577098976,
> 196.6309564637736,
> 201.71474411144283, 206.79874714826221, 211.88296398730361,
> 216.96739302159392,
> 222.05203262525603, 227.13688115464126, 232.22193694945199,
> 237.30719833385319,
> 242.39266361757134, 247.4783310969799, 252.56419905616968,
> 257.65026576800335,
> 262.73652949515326, 267.82298849112135, 272.90964100124006,
> 277.99648526365417
> )), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), row.names
> = c(NA,
> -165L), groups = structure(list(cond1 = structure(1:3, levels = c("gr1",
> "gr2", "gr3"), class = "factor"), .rows = structure(list(1:55,
> 56:110, 111:165), ptype = integer(0), class = c("vctrs_list_of",
> "vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame"
> ), row.names = c(NA, -3L), .drop = TRUE))
>
>
> data_gg <-
> structure(list(sample_name = structure(c(1L, 1L, 1L, 3L, 3L,
> 3L, 4L, 4L, 4L, 5L, 5L, 5L,
> 6L, 6L, 6L, 7L, 7L, 7L, 8L, 8L, 8L,
> 9L, 9L, 9L, 10L, 10L, 10L,
> 2L, 2L, 2L), levels = c("sample_1",
> "sample_10", "sample_2", "sample_3", "sample_4", "sample_5",
> "sample_6", "sample_7", "sample_8", "sample_9"), class = "factor"),
> cond1 = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L,
> 3L, 1L,
> 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L,
> 1L, 2L, 3L, 1L, 2L, 3L, 1L,
> 2L, 3L, 1L, 2L, 3L), levels =
> c("gr1", "gr2", "gr3"), class = "factor"),
> y = c(66.841303063926276, 67.472560483496395,
> 67.350782025297491,
> 239.92038943963996, 263.86434567960532,
> 245.5828943233048,
> 79.816014407733576, 83.113561986286527,
> 82.472407359578497,
> 119.47728818995286, 124.6096674548085,
> 123.53929680828162,
> 167.74945967316481, 175.24119274447909,
> 173.3101276414092,
> 179.9757883770354, 188.0353953366776,
> 185.62371789029476,
> 211.67636686196198, 226.0245057723744,
> 217.67567556426681,
> 239.2332514084444, 263.43071638223682,
> 246.36541140534734,
> 239.12520839705132, 261.48215841483324,
> 244.32149876740914,
> 225.41906797385775, 243.4863489065367,
> 230.85842575876438
> ), x = c(63.943257223109704, 63.943257223109704,
> 63.943257223109704,
> 243.86202494837679, 243.86202494837679,
> 243.86202494837679,
> 79.830727091681908, 79.830727091681908,
> 79.830727091681908,
> 120.17775154264349, 120.17775154264349,
> 120.17775154264349,
> 170.68397678049993, 170.68397678049993,
> 170.68397678049993,
> 182.76437013692455, 182.76437013692455,
> 182.76437013692455,
> 213.08836061920164, 213.08836061920164,
> 213.08836061920164,
> 242.88283256045045, 242.88283256045045,
> 242.88283256045045,
> 243.01167748338918, 243.01167748338918,
> 243.01167748338918,
> 226.30406793610797, 226.30406793610797,
> 226.30406793610797
> )), row.names = c(NA, -30L), class = "data.frame")
>
>
> mydata <-
> structure(list(new_sample_name = c("new_1", "new_2", "new_3",
> "new_4"), cond1 = c("gr3", "gr3",
> "gr3", "gr3"), x = c(237.95320350271339,
> 179.00466406850148, 114.82070964229392, 186.88105015735715),
> y = c(236.9327999649125, 179.57983976081474,
> 115.38365944625376,
> 187.86604427125403)), class = c("grouped_df",
> "tbl_df", "tbl",
> "data.frame"), row.names = c(NA, -4L), groups = structure(list(
> new_sample_name = c("new_1", "new_2", "new_3", "new_4"),
> .rows =
> structure(list(1L, 2L, 3L, 4L), ptype = integer(0), class =
> c("vctrs_list_of",
> "vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame"
> ), row.names = c(NA, -4L), .drop = TRUE))
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> https://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list