I'm plotting geom_smooth
s in facets grouped by size
:
library(ggplot2)
ggplot(df,
aes(x = pos, y = mean_ratio_f ))+
geom_smooth(aes(group = factor(size)), method = "lm", se = FALSE, linewidth = 0.5) +
# facets:
facet_wrap(. ~ size, scales = 'free_x')+
labs(x ="X",
y = "Y")
Unfortunately the last three facets (for size
groups 23, 24,and 25) are aligned to the left margin so that there is a gap to their right (which also creates the impression of the whole plot being tilted to the right!):
It appears to me that the issue can be solved by centering the three facets in question (but maybe there are other solutions as well). How can the factes be rearranged so that the last three facets are centered?
Data:
df <- structure(list(size = c(3L, 3L, 4L, 4L, 5L, 5L, 6L, 6L, 7L, 7L,
8L, 8L, 9L, 9L, 10L, 10L, 11L, 11L, 12L, 12L, 13L, 13L, 14L,
14L, 15L, 15L, 16L, 16L, 17L, 17L, 18L, 18L, 19L, 19L, 20L, 20L,
21L, 21L, 22L, 22L, 23L, 23L, 24L, 24L, 25L, 25L), pos = c(1.5,
2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5,
2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5,
2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2, 1.5, 2), mean_ratio_f = c(527.899043866778,
1223.75592041265, 26.7055556681507, 1014.99764633205, 6.47082070497567,
863.659744048962, 3.81972089409093, 777.045156006896, 2.46140197567771,
745.040410893806, 2.22400421369641, 759.114492391129, 2.13729390098214,
687.177457687369, 1.98034033753045, 778.931235189388, 1.90373974226176,
718.311850673966, 1.80384197110368, 825.996874022512, 1.81708729221153,
784.264857079573, 1.7777262939807, 752.39972151211, 1.76691331278538,
860.318640599953, 1.75527539730966, 869.777351603508, 1.74520729149527,
880.417441527199, 1.73611317639682, 780.755824759386, 1.78837402005967,
868.750440691095, 1.70425949150671, 804.161284483241, 1.70130414461642,
827.894751207786, 1.6956455656474, 846.217696086233, 1.6805039077424,
796.011388849723, 1.65481637360088, 811.918292989823, 1.67084107927763,
920.002748174406), mean_ratio_f_log = c(6773.00321795844, 17499.3396876788,
91.9407050566451, 14640.9637434847, 0.961390621510839, 12925.4581530315,
0.962105282138507, 11965.2882380283, 0.959588977914962, 11925.034356026,
0.95894420256844, 12389.1090131876, 0.962673236418588, 10291.5804363065,
0.961229361905838, 13564.6305043359, 0.959542208244426, 11807.7801051298,
0.958279155901719, 13222.8288829741, 0.960694717000605, 14050.9037663119,
0.959865919899295, 13196.4602878018, 0.960818003520457, 18197.3072369647,
0.959524692210418, 16167.0124087112, 0.962044614557777, 19156.2703675997,
0.958319770694746, 12192.6024672023, 0.96568915213801, 14355.9254483709,
0.957678872168589, 12384.5704259404, 0.956930859337691, 15515.5122785017,
0.964217350399733, 14886.2543318109, 0.958708854899801, 12105.1755086371,
0.959842413426268, 12265.603237096, 0.954623252993519, 15048.4316206923
)), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA,
-46L), groups = structure(list(size = 3:25, .rows = structure(list(
1:2, 3:4, 5:6, 7:8, 9:10, 11:12, 13:14, 15:16, 17:18, 19:20,
21:22, 23:24, 25:26, 27:28, 29:30, 31:32, 33:34, 35:36, 37:38,
39:40, 41:42, 43:44, 45:46), ptype = integer(0), class = c("vctrs_list_of",
"vctrs_vctr", "list"))), row.names = c(NA, -23L), class = c("tbl_df",
"tbl", "data.frame"), .drop = TRUE))
ggh4x::facet_manual
is not really working here it seems since the y coordinates of the last row are creating an empty space between the first and second plot of every other row – Chlamys