[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
Sat Apr 12 17:24:44 CEST 2025


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))



More information about the R-help mailing list