@@ -219,26 +219,24 @@ Layout <- ggproto("Layout", NULL,
219
219
invisible ()
220
220
},
221
221
222
- setup_panel_guides = function (self , guides , layers ) {
223
-
224
- # Like in `setup_panel_params`, we only need to setup guides for unique
225
- # combinations of x/y scales.
226
- index <- vec_unique_loc(self $ layout $ COORD )
227
- order <- vec_match(self $ layout $ COORD , self $ layout $ COORD [index ])
222
+ setup_panel_guides = function (self , guides , layers , data = NULL ) {
228
223
229
224
self $ panel_params <- lapply(
230
- self $ panel_params [ index ] ,
225
+ self $ panel_params ,
231
226
self $ coord $ setup_panel_guides ,
232
227
guides ,
233
228
self $ coord_params
234
229
)
235
230
236
- self $ panel_params <- lapply(
237
- self $ panel_params ,
238
- self $ coord $ train_panel_guides ,
239
- layers ,
240
- self $ coord_params
241
- )[order ]
231
+ self $ panel_params <- Map(
232
+ function (params , data ) {
233
+ self $ coord $ train_panel_guides(params , layers , self $ coord_params , data = data )
234
+ },
235
+ params = self $ panel_params ,
236
+ data = lapply(levels(self $ layout $ PANEL ), function (i ) {
237
+ lapply(data , function (x ) vec_slice(x , x $ PANEL == i ))
238
+ })
239
+ )
242
240
243
241
invisible ()
244
242
},
0 commit comments