r - Rotate a faceted, grouped bar plot -


**updated below

i have created plot, literally need horizontal, coord_flip() leaves facets on bottom instead of having nested groups on left.

the data:

srvc_data <- structure(list(dept = structure(c(3l, 3l, 3l, 3l, 3l, 3l, 3l,  3l, 3l, 3l, 3l, 3l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 2l,  2l, 2l, 2l, 2l, 2l, 2l, 1l, 1l, 1l, 1l, 5l, 5l, 5l, 5l, 5l, 5l,  5l, 5l, 5l, 5l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l, 3l,  4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 4l, 2l, 2l, 2l, 2l, 2l, 2l,  2l, 1l, 1l, 1l, 1l, 5l, 5l, 5l, 5l, 5l, 5l, 5l, 5l, 5l, 5l), .label = c("distribution centre services",  "it", "marketing", "merchandise & inventory", "operations , communication" ), class = "factor"), label = c("test5", "test7", "test3", "test10",  "test4", "test6", "test2", "test1", "test11", "test12", "test9",  "test8", "test18", "test19", "test15", "test17", "test13", "test16",  "test20", "test14", "test22", "test21", "test25", "test23", "test24",  "test27", "test26", "test28", "test29", "test31", "test33", "test30",  "test32", "test38", "test36", "test37", "test43", "test34", "test35",  "test40", "test39", "test42", "test41", "test5", "test7", "test3",  "test10", "test4", "test6", "test2", "test1", "test11", "test12",  "test9", "test8", "test18", "test19", "test15", "test17", "test13",  "test16", "test20", "test14", "test22", "test21", "test25", "test23",  "test24", "test27", "test26", "test28", "test29", "test31", "test33",  "test30", "test32", "test38", "test36", "test37", "test43", "test34",  "test35", "test40", "test39", "test42", "test41"), gap = c(-0.07,  -0.13, -0.15, -0.16, -0.16, -0.21, -0.22, -0.24, -0.24, -0.25,  -0.3, -0.3, -0.18, -0.19, -0.24, -0.29, -0.3, -0.34, -0.36, -0.41,  -0.46, -0.63, -0.16, -0.18, -0.21, -0.22, -0.27, -0.29, -0.31,  -0.31, -0.35, -0.39, -0.42, -0.15, -0.15, -0.2, -0.21, -0.22,  -0.27, -0.29, -0.29, -0.31, -0.36, -0.07, -0.13, -0.15, -0.16,  -0.16, -0.21, -0.22, -0.24, -0.24, -0.25, -0.3, -0.3, -0.18,  -0.19, -0.24, -0.29, -0.3, -0.34, -0.36, -0.41, -0.46, -0.63,  -0.16, -0.18, -0.21, -0.22, -0.27, -0.29, -0.31, -0.31, -0.35,  -0.39, -0.42, -0.15, -0.15, -0.2, -0.21, -0.22, -0.27, -0.29,  -0.29, -0.31, -0.36), impeff = 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, 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), .label = c("importance", "effectiveness"), class = "factor"),      score = c(0.87, 0.79, 0.78, 0.82, 0.81, 0.81, 0.92, 0.92,      0.78, 0.81, 0.86, 0.91, 0.79, 0.79, 0.87, 0.93, 0.9, 0.9,      0.82, 0.95, 0.91, 0.95, 0.77, 0.79, 0.82, 0.8, 0.83, 0.9,      0.91, 0.94, 0.89, 0.94, 0.91, 0.82, 0.74, 0.78, 0.81, 0.83,      0.85, 0.82, 0.81, 0.8, 0.83, 0.8, 0.66, 0.63, 0.66, 0.65,      0.6, 0.7, 0.68, 0.54, 0.56, 0.56, 0.61, 0.61, 0.6, 0.63,      0.64, 0.6, 0.56, 0.46, 0.54, 0.45, 0.32, 0.61, 0.61, 0.61,      0.58, 0.56, 0.61, 0.6, 0.63, 0.54, 0.55, 0.49, 0.67, 0.59,      0.58, 0.6, 0.61, 0.58, 0.53, 0.52, 0.49, 0.47)), row.names = c(na,  -86l), .names = c("dept", "label", "gap", "impeff", "score"), class = "data.frame") 

and code:

ggplot(data = srvc_data, aes(x = label, y = score)) +    geom_bar( aes(fill = impeff),stat = "identity", position = "dodge",width = 1) +   facet_grid(~dept, switch = "x", scales = "free", space = "free") +    #coord_flip()+ 

the plot (without flip) looks below, need horizontal, facet categories on far left. how coord_flip() work? why wouldn't flip/move facet strips? please ignore crammed formatting!

enter image description here

**update @neilfws have fixed plot, switching order of data.

ggplot(data = srvc_data, aes(x = label, y = score)) +    geom_bar( aes(fill = impeff),stat = "identity", position = "dodge",width = 1) +   facet_grid(dept~., switch = "y", scales = "free_y", space = "free") +   coord_flip() 

now have correctly oriented plot, there lots of unused space labels unused in each facet. within facet_grid call, setting scales = "free" doesn't work, nor drop = t. ideas? plot below reference.

enter image description here

if coord_flip, need reverse faceting relationship (~), place on side, , switch, place on y-axis. close want?

ggplot(srvc_data, aes(label, score)) +    geom_bar( aes(fill = impeff), stat = "identity", position = "dodge", width = 1) +   facet_grid(dept ~ ., switch = "y", scales = "free", space = "free") + coord_flip() 

Comments