@@ -100,8 +100,6 @@ aesConverters <-
100
100
toRGB(col )
101
101
},size = identity ,alpha = identity ,shape = function (pch ){
102
102
pch2symbol [as.character(pch )]
103
- }, barmode = function (bm ) {
104
- position2barmode [bm ][[1 ]]
105
103
})
106
104
107
105
toBasic <-
@@ -174,7 +172,6 @@ geom2trace <-
174
172
name = params $ name ,
175
173
text = data $ text ,
176
174
type = " bar" ,
177
- # barmode=paramORdefault(...),
178
175
fillcolor = toRGB(params $ fill ))
179
176
}
180
177
)
@@ -189,7 +186,7 @@ markLegends <-
189
186
list (point = c(" colour" , " fill" , " shape" ),
190
187
path = c(" linetype" , " size" , " colour" ),
191
188
polygon = c(" colour" , " fill" , " linetype" , " size" , " group" ),
192
- bar = c(" fill" , " barmode " ))
189
+ bar = c(" fill" ))
193
190
194
191
markUnique <- as.character(unique(unlist(markLegends )))
195
192
@@ -227,6 +224,19 @@ gg2list <- function(p){
227
224
if (! is.data.frame(p $ layers [[layer.i ]]$ data )){
228
225
p $ layers [[layer.i ]]$ data <- p $ data
229
226
}
227
+ geom_type <- p $ layers [[layer.i ]]$ geom
228
+ geom_type <- strsplit(capture.output(geom_type ), " geom_" )[[1 ]][2 ]
229
+ geom_type <- strsplit(geom_type , " : " )[[1 ]]
230
+ # # Barmode.
231
+ layout $ barmode <- " group"
232
+ if (geom_type == " bar" ) {
233
+ pos <- capture.output(p $ layers [[layer.i ]]$ position )
234
+ if (length(grep(" identity" , pos )) > 0 ) {
235
+ layout $ barmode <- " overlay"
236
+ } else if (length(grep(" stack" , pos )) > 0 ) {
237
+ layout $ barmode <- " stack"
238
+ }
239
+ }
230
240
}
231
241
# # Extract data from built ggplots
232
242
built <- ggplot2 :: ggplot_build(p )
@@ -378,8 +388,6 @@ gg2list <- function(p){
378
388
layout $ margin $ r <- 10
379
389
layout $ legend <- list (bordercolor = " transparent" , x = 100 , y = 1 / 2 )
380
390
381
- # # Barmode.
382
- # layout$barmode <- position2barmode[...][[1]]
383
391
trace.list $ kwargs <- list (layout = layout )
384
392
trace.list
385
393
}
0 commit comments