I'm having trouble creating a faceted bar plot with two groups as I end up with bars of unequal widths.
Most of the solutions involve the use of facet_grid
. However, am comfortable with facet_wrap
since I need to separate my two groups and have group 1 plots ontop of group 2 and facet_wrap
has an option of specifying number of rows (nrow
)
I came across this solution that did something similar with facet_grid
but I couldn't follow how to use "scaling factor"
- dataset
df <- structure(list(objective = c("group1", "group1", "group1", "group1",
"group1", "group1", "group1", "group1", "group1", "group1", "group2",
"group2", "group1", "group1", "group1", "group1", "group1", "group2",
"group2", "group2", "group2", "group2", "group1", "group1", "group2",
"group1", "group2", "group1", "group1", "group2", "group2", "group2",
"group2", "group1", "group2", "group1", "group2", "group1", "group1",
"group1", "group2", "group1", "group1", "group1", "group1", "group2",
"group2", "group1", "group2", "group2", "group1", "group1", "group2",
"group1", "group2", "group2", "group1", "group1", "group1", "group1",
"group1", "group1", "group1", "group2", "group2", "group2", "group2",
"group2", "group2", "group2", "group2", "group2", "group2", "group2",
"group2"), h_popUID = c("00", "06", "02", "01", "08", "07", "34",
"12", "05", "15", "01", "02", "01", "00", "18", "03", "02", "64",
"10", "43", "66", "00", "15", "05", "28", "08", "09", "57", "40",
"70", "02", "01", "05", "02", "00", "00", "07", "06", "09", "08",
"15", "01", "12", "21", "27", "09", "49", "15", "13", "39", "00",
"17", "05", "05", "10", "01", "08", "10", "11", "20", "32", "59",
"07", "00", "13", "30", "09", "08", "16", "11", "45", "80", "20",
"01", "11"), h_PopFrac = c(16.4458, 9.18283, 4.54045, 4.42016,
4.20424, 4.12203, 3.88035, 3.72283, 3.71405, 3.30343, 27.0636,
18.9119, 14.8706, 11.2281, 8.27463, 7.25015, 6.47934, 5.85649,
5.71863, 5.55556, 5.55556, 5.51323, 5.13482, 4.89081, 4.46411,
4.4067, 3.67623, 3.58559, 3.15416, 2.99529, 10.8508, 9.6382,
8.23833, 8.17262, 7.29084, 6.53766, 5.98593, 5.29202, 5.2533,
4.94743, 4.67799, 4.59958, 4.3226, 3.76402, 3.71132, 3.31939,
3.29901, 3.24111, 3.02795, 2.80189, 19.1224, 11.5504, 9.68861,
9.16134, 8.13697, 8.1064, 7.14286, 7.14286, 7.14286, 7.14286,
7.14286, 7.14286, 6.93989, 6.44389, 5.25567, 4.61655, 4.29097,
3.62104, 3.21357, 2.98081, 33.3333, 31.8441, 23.85, 9.48337,
1.48925), samplingYear = c("2008", "2008", "2008", "2008", "2008",
"2008", "2008", "2008", "2008", "2008", "2009", "2009", "2009",
"2009", "2009", "2009", "2009", "2009", "2009", "2009", "2009",
"2009", "2009", "2009", "2009", "2009", "2009", "2009", "2009",
"2009", "2010", "2010", "2010", "2010", "2010", "2010", "2010",
"2010", "2010", "2010", "2010", "2010", "2010", "2010", "2010",
"2010", "2010", "2010", "2010", "2010", "2011-2014", "2011-2014",
"2011-2014", "2011-2014", "2011-2014", "2011-2014", "2011-2014",
"2011-2014", "2011-2014", "2011-2014", "2011-2014", "2011-2014",
"2011-2014", "2011-2014", "2011-2014", "2011-2014", "2011-2014",
"2011-2014", "2011-2014", "2011-2014", "2015-2016", "2015-2016",
"2015-2016", "2015-2016", "2015-2016"), hapID = structure(c(4L,
11L, 47L, 26L, 46L, 53L, 55L, 58L, 59L, 66L, 5L, 6L, 5L, 12L,
16L, 19L, 30L, 32L, 33L, 34L, 35L, 36L, 40L, 41L, 48L, 54L, 62L,
63L, 68L, 71L, 10L, 9L, 15L, 10L, 28L, 12L, 31L, 37L, 39L, 46L,
40L, 45L, 51L, 57L, 60L, 56L, 65L, 66L, 70L, 82L, 4L, 7L, 8L,
15L, 17L, 18L, 20L, 21L, 22L, 23L, 24L, 25L, 27L, 28L, 38L, 44L,
56L, 54L, 67L, 73L, 1L, 2L, 3L, 26L, 149L), .Label = c("45___1",
"80___2", "20___3", "00___1", "01___1", "02___2", "17___2", "05___1",
"01___2", "02___1", "06___2", "00___2", "05___2", "38___3", "05___3",
"18___3", "10___2", "01___3", "03___4", "08___4", "10___5", "11___6",
"20___7", "32___8", "59___9", "01___4", "07___10", "00___4",
"32___4", "02___5", "07___5", "64___3", "10___4", "43___5", "66___6",
"00___7", "06___3", "13___5", "09___4", "15___6", "05___7", "06___5",
"24___11", "30___6", "01___6", "08___5", "02___3", "28___8",
"19___6", "10___7", "12___7", "58___8", "07___6", "08___8", "34___7",
"09___7", "21___8", "12___8", "05___9", "27___9", "02___9", "09___9",
"57___9", "29___10", "49___8", "15___10", "16___9", "40___10",
"17___11", "13___9", "70___10", "27___11", "11___10", "33___12",
"82___11", "24___12", "14___12", "11___11", "44___11", "47___12",
"19___11", "39___10", "81___13", "22___12", "52___13", "55___14",
"73___15", "54___13", "19___16", "09___14", "07___15", "22___13",
"09___13", "43___12", "11___16", "16___17", "46___18", "68___17",
"35___13", "60___19", "12___18", "10___20", "53___13", "07___14",
"11___14", "25___15", "52___16", "58___17", "67___18", "75___19",
"76___20", "23___14", "22___14", "77___15", "28___21", "78___21",
"03___16", "51___17", "79___22", "29___22", "09___12", "19___23",
"65___18", "33___24", "37___14", "28___15", "11___15", "46___16",
"29___19", "23___15", "17___17", "26___20", "16___18", "34___25",
"17___26", "69___19", "24___16", "13___20", "14___19", "07___17",
"16___13", "20___23", "48___20", "31___21", "16___22", "63___21",
"39___23", "27___27", "11___5", "25___22", "36___23", "47___24",
"61___25", "74___26", "12___28", "04___27", "50___24", "18___29",
"20___28", "08___25", "56___29", "45___24", "18___25", "35___21",
"01___14", "10___30", "07___31", "44___26", "20___26", "14___27",
"31___22", "10___28", "36___29", "03___18", "85___30", "35___32",
"05___33", "71___30", "45___34", "22___31", "44___35", "83___36",
"18___37", "84___38", "72___19", "86___31", "12___27", "08___20",
"50___21", "24___39", "37___41", "87___32", "21___16", "48___23",
"25___33", "59___42", "13___22", "21___34", "29___35", "33___36",
"21___24", "30___15", "23___17", "01___23", "60___43", "29___44",
"25___28", "52___24", "14___32", "09___37", "26___40", "55___25",
"31___45", "88___46", "06___29", "89___47", "18___30", "41___31",
"39___25", "30___32", "50___48", "13___49", "41___50", "07___18",
"26___33", "35___38", "50___26", "31___33", "53___39", "03___51",
"10___27", "62___40", "36___28", "56___41", "28___42", "08___19",
"26___43", "65___34", "56___35", "32___44", "27___36", "17___37",
"30___20", "22___52", "23___38", "31___34", "37___29", "40___45",
"41___21", "46___30", "14___39", "55___53", "19___31", "71___54",
"40___55", "41___32", "06___35", "33___56", "39___57", "68___58",
"47___16", "36___41", "21___36", "57___59", "23___46", "66___47",
"14___17", "02___37", "67___42", "70___48", "51___43", "37___38",
"32___39", "51___40"), scores = structure(c(`00___1` = -0.216051,
`00___2` = -0.0888288, `00___4` = -0.06867365, `00___7` = -0.0551323,
`01___1` = -0.209671, `01___14` = -0.0125383, `01___2` = -0.096382,
`01___23` = -0.00537834, `01___3` = -0.081064, `01___4` = -0.06951765,
`01___6` = -0.0459958, `02___1` = -0.0951171, `02___2` = -0.189119,
`02___3` = -0.0454045, `02___37` = -0.000347036, `02___5` = -0.0647934,
`02___9` = -0.0369415, `03___16` = -0.0217615, `03___18` = -0.0106504,
`03___4` = -0.0725015, `03___51` = -0.00273108, `04___27` = -0.0141894,
`05___1` = -0.0968861, `05___2` = -0.088698, `05___3` = -0.08699835,
`05___33` = -0.0102368, `05___7` = -0.0489081, `05___9` = -0.0371405,
`06___2` = -0.0918283, `06___29` = -0.00410675, `06___3` = -0.0529202,
`06___35` = -0.000904143, `06___5` = -0.0479146, `07___10` = -0.0693989,
`07___14` = -0.0230248, `07___15` = -0.0268514, `07___17` = -0.0161683,
`07___18` = -0.00319247, `07___31` = -0.0120698, `07___5` = -0.0598593,
`07___6` = -0.0412203, `08___19` = -0.00220358, `08___20` = -0.00869654,
`08___25` = -0.0136594, `08___4` = -0.0714286, `08___5` = -0.04575835,
`08___8` = -0.0401387, `09___12` = -0.0216467, `09___13` = -0.0264818,
`09___14` = -0.0269737, `09___37` = -0.00449337, `09___4` = -0.052533,
`09___7` = -0.0380518, `09___9` = -0.0367623, `10___2` = -0.0813697,
`10___20` = -0.0237129, `10___27` = -0.00271873, `10___28` = -0.0107679,
`10___30` = -0.0122108, `10___4` = -0.0571863, `10___5` = -0.0714286,
`10___7` = -0.0432618, `11___10` = -0.0298081, `11___11` = -0.0290054,
`11___14` = -0.0229425, `11___15` = -0.0190254, `11___16` = -0.0259597,
`11___5` = -0.0148925, `11___6` = -0.0714286, `12___18` = -0.0247626,
`12___27` = -0.00877561, `12___28` = -0.0142586, `12___7` = -0.043226,
`12___8` = -0.0372283, `13___20` = -0.0164341, `13___22` = -0.00654346,
`13___49` = -0.00349092, `13___5` = -0.0525567, `13___9` = -0.0302795,
`14___12` = -0.0290258, `14___17` = -0.000393979, `14___19` = -0.0163974,
`14___27` = -0.0113938, `14___32` = -0.0045155, `14___39` = -0.00121437,
`15___10` = -0.0327227, `15___6` = -0.04906405, `16___13` = -0.0161033,
`16___17` = -0.0258614, `16___18` = -0.0173594, `16___22` = -0.0157382,
`16___9` = -0.0321357, `17___11` = -0.0305387, `17___17` = -0.0176287,
`17___2` = -0.115504, `17___26` = -0.0170753, `17___37` = -0.0017261,
`18___25` = -0.0131304, `18___29` = -0.0137953, `18___3` = -0.0827463,
`18___30` = -0.0038681, `18___37` = -0.00935756, `19___11` = -0.0280562,
`19___16` = -0.0270109, `19___23` = -0.0215035, `19___31` = -0.00116435,
`19___6` = -0.043498, `20___23` = -0.0159022, `20___26` = -0.0114059,
`20___28` = -0.0137721, `20___3` = -0.2385, `20___7` = -0.0714286,
`21___16` = -0.00780828, `21___24` = -0.00603014, `21___34` = -0.00643111,
`21___36` = -0.000683168, `21___8` = -0.0376402, `22___12` = -0.0277778,
`22___13` = -0.0267542, `22___14` = -0.0225297, `22___31` = -0.0098745,
`22___52` = -0.00160678, `23___14` = -0.0225467, `23___15` = -0.0184083,
`23___17` = -0.00547605, `23___38` = -0.00145416, `23___46` = -0.000634157,
`24___11` = -0.0465846, `24___12` = -0.0290836, `24___16` = -0.0166473,
`24___39` = -0.00826724, `25___15` = -0.0227273, `25___22` = -0.0148923,
`25___28` = -0.00467156, `25___33` = -0.00687923, `26___20` = -0.0175137,
`26___33` = -0.00303401, `26___40` = -0.004483562, `26___43` = -0.00216628,
`27___11` = -0.0299489, `27___27` = -0.0151933, `27___36` = -0.00192109,
`27___9` = -0.0371132, `28___15` = -0.0190598, `28___21` = -0.0219465,
`28___42` = -0.00229595, `28___8` = -0.0446411, `29___10` = -0.0330723,
`29___19` = -0.0186874, `29___22` = -0.0216919, `29___35` = -0.00636298,
`29___44` = -0.00476426, `30___15` = -0.00570641, `30___20` = -0.00161223,
`30___32` = -0.00357011, `30___6` = -0.0461655, `31___21` = -0.0157735,
`31___22` = -0.0113581, `31___33` = -0.00287614, `31___34` = -0.00143591,
`31___45` = -0.00435133, `32___39` = -0.000137404, `32___4` = -0.0680396,
`32___44` = -0.00205434, `32___8` = -0.0714286, `33___12` = -0.0294154,
`33___24` = -0.021397, `33___36` = -0.00632989, `33___56` = -0.000883254,
`34___25` = -0.0172087, `34___7` = -0.0388035, `35___13` = -0.025169,
`35___21` = -0.0125987, `35___32` = -0.0104656, `35___38` = -0.0029658,
`36___23` = -0.014382, `36___28` = -0.00261964, `36___29` = -0.0107592,
`36___41` = -0.000701033, `37___14` = -0.0197017, `37___29` = -0.00142045,
`37___38` = -0.000157047, `37___41` = -0.00805005, `38___3` = -0.0875593,
`39___10` = -0.0280189, `39___23` = -0.0151996, `39___25` = -0.00359164,
`39___57` = -0.000840357, `40___10` = -0.0315416, `40___45` = -0.00133612,
`40___55` = -0.00100035, `41___21` = -0.00130563, `41___31` = -0.00368377,
`41___32` = -0.000974167, `41___50` = -0.00320736, `43___12` = -0.0261304,
`43___5` = -0.0555556, `44___11` = -0.0281205, `44___26` = -0.0116784,
`44___35` = -0.00965013, `45___1` = -0.333333, `45___24` = -0.0132089,
`45___34` = -0.00994331, `46___16` = -0.0188903, `46___18` = -0.0254511,
`46___30` = -0.00127214, `47___12` = -0.0280908, `47___16` = -0.000714671,
`47___24` = -0.0142857, `48___20` = -0.0158994, `48___23` = -0.00715865,
`49___8` = -0.0329901, `50___21` = -0.00832575, `50___24` = -0.0138839,
`50___26` = -0.00290669, `50___48` = -0.00351744, `51___17` = -0.021758,
`51___40` = -0.000120138, `51___43` = -0.000183831, `52___13` = -0.0277778,
`52___16` = -0.0227273, `52___24` = -0.00453967, `53___13` = -0.0234429,
`53___39` = -0.00277261, `54___13` = -0.0274603, `55___14` = -0.0277778,
`55___25` = -0.00446438, `55___53` = -0.00117879, `56___29` = -0.0132496,
`56___35` = -0.00210437, `56___41` = -0.00249327, `57___59` = -0.000653369,
`57___9` = -0.0358559, `58___17` = -0.0227273, `58___8` = -0.0416667,
`59___42` = -0.00660606, `59___9` = -0.0714286, `60___19` = -0.0250246,
`60___43` = -0.0052561, `61___25` = -0.0142857, `62___40` = -0.00264168,
`63___21` = -0.015351, `64___3` = -0.0585649, `65___18` = -0.021422,
`65___34` = -0.00210816, `66___47` = -0.000415148, `66___6` = -0.0555556,
`67___18` = -0.0227273, `67___42` = -0.000252705, `68___17` = -0.0252739,
`68___58` = -0.000800113, `69___19` = -0.0167431, `70___10` = -0.0299529,
`70___48` = -0.000252218, `71___30` = -0.0100322, `71___54` = -0.00104767,
`72___19` = -0.00920916, `73___15` = -0.0277778, `74___26` = -0.0142857,
`75___19` = -0.0227273, `76___20` = -0.0227273, `77___15` = -0.0224116,
`78___21` = -0.0218231, `79___22` = -0.0217264, `80___2` = -0.318441,
`81___13` = -0.0279113, `82___11` = -0.0293961, `83___36` = -0.00962774,
`84___38` = -0.00929759, `85___30` = -0.0104965, `86___31` = -0.00899086,
`87___32` = -0.00787741, `88___46` = -0.00424604, `89___47` = -0.00392061
), .Dim = 274L, .Dimnames = list(c("00___1", "00___2", "00___4",
"00___7", "01___1", "01___14", "01___2", "01___23", "01___3",
"01___4", "01___6", "02___1", "02___2", "02___3", "02___37",
"02___5", "02___9", "03___16", "03___18", "03___4", "03___51",
"04___27", "05___1", "05___2", "05___3", "05___33", "05___7",
"05___9", "06___2", "06___29", "06___3", "06___35", "06___5",
"07___10", "07___14", "07___15", "07___17", "07___18", "07___31",
"07___5", "07___6", "08___19", "08___20", "08___25", "08___4",
"08___5", "08___8", "09___12", "09___13", "09___14", "09___37",
"09___4", "09___7", "09___9", "10___2", "10___20", "10___27",
"10___28", "10___30", "10___4", "10___5", "10___7", "11___10",
"11___11", "11___14", "11___15", "11___16", "11___5", "11___6",
"12___18", "12___27", "12___28", "12___7", "12___8", "13___20",
"13___22", "13___49", "13___5", "13___9", "14___12", "14___17",
"14___19", "14___27", "14___32", "14___39", "15___10", "15___6",
"16___13", "16___17", "16___18", "16___22", "16___9", "17___11",
"17___17", "17___2", "17___26", "17___37", "18___25", "18___29",
"18___3", "18___30", "18___37", "19___11", "19___16", "19___23",
"19___31", "19___6", "20___23", "20___26", "20___28", "20___3",
"20___7", "21___16", "21___24", "21___34", "21___36", "21___8",
"22___12", "22___13", "22___14", "22___31", "22___52", "23___14",
"23___15", "23___17", "23___38", "23___46", "24___11", "24___12",
"24___16", "24___39", "25___15", "25___22", "25___28", "25___33",
"26___20", "26___33", "26___40", "26___43", "27___11", "27___27",
"27___36", "27___9", "28___15", "28___21", "28___42", "28___8",
"29___10", "29___19", "29___22", "29___35", "29___44", "30___15",
"30___20", "30___32", "30___6", "31___21", "31___22", "31___33",
"31___34", "31___45", "32___39", "32___4", "32___44", "32___8",
"33___12", "33___24", "33___36", "33___56", "34___25", "34___7",
"35___13", "35___21", "35___32", "35___38", "36___23", "36___28",
"36___29", "36___41", "37___14", "37___29", "37___38", "37___41",
"38___3", "39___10", "39___23", "39___25", "39___57", "40___10",
"40___45", "40___55", "41___21", "41___31", "41___32", "41___50",
"43___12", "43___5", "44___11", "44___26", "44___35", "45___1",
"45___24", "45___34", "46___16", "46___18", "46___30", "47___12",
"47___16", "47___24", "48___20", "48___23", "49___8", "50___21",
"50___24", "50___26", "50___48", "51___17", "51___40", "51___43",
"52___13", "52___16", "52___24", "53___13", "53___39", "54___13",
"55___14", "55___25", "55___53", "56___29", "56___35", "56___41",
"57___59", "57___9", "58___17", "58___8", "59___42", "59___9",
"60___19", "60___43", "61___25", "62___40", "63___21", "64___3",
"65___18", "65___34", "66___47", "66___6", "67___18", "67___42",
"68___17", "68___58", "69___19", "70___10", "70___48", "71___30",
"71___54", "72___19", "73___15", "74___26", "75___19", "76___20",
"77___15", "78___21", "79___22", "80___2", "81___13", "82___11",
"83___36", "84___38", "85___30", "86___31", "87___32", "88___46",
"89___47"))), class = "factor"), rowID = c(1L, 2L, 3L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 1L, 2L, 1L, 2L, 3L, 4L, 5L, 3L, 4L, 5L,
6L, 7L, 6L, 7L, 8L, 8L, 9L, 9L, 10L, 10L, 1L, 2L, 3L, 1L, 4L,
2L, 5L, 3L, 4L, 5L, 6L, 6L, 7L, 8L, 9L, 7L, 8L, 10L, 9L, 10L,
1L, 2L, 1L, 3L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 4L, 5L,
6L, 7L, 8L, 9L, 10L, 1L, 2L, 3L, 4L, 5L)), row.names = c(NA,
-75L), class = c("tbl_df", "tbl", "data.frame"))
- my code
ggplot(df, aes(reorder(hapID, as.numeric(rowID)),h_PopFrac,fill=h_popUID, label=h_popUID)) +
geom_bar(stat="identity", position = position_dodge2(width = 0.1, preserve = "single"),width = 1.05) +
facet_wrap(objective~samplingYear, scales = "free_x", nrow = 2, strip.position = "top")