I like it facet_gridquite a bit, and I often use it with help geom_histogram. I like the argumentmargins=foo, since you can see all distributions compared to aggregated groups. The problem is when you include the margin argument, it stretches all the groups to fit the usually significantly wider y scale range for the fields, since now you have all the data. This means that all aggregated groups of scale y are much wider, and it is more difficult to identify differences between groups. So I say to myself: self, you can fix this with the weight argument and let y vary. "The problem with this solution is that it is now difficult to compare aggregate groups because they all have different scales. So that the fields are free, but everything else was limited if the scale were not free. Is this possible?
I present the code and photos here to demonstrate what I mean. If this is unclear, ask.
#create some data
set.seed(10)
dat <- data.frame(var1=rpois(1000, 20),
var2=as.factor(sample(LETTERS[1:4], 1000, replace=T)),
var3=as.factor(sample(month.abb[1:5], 1000, replace=T)))
ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3)
Here is the plot of it. I like that I can easily compare all aggregated points, since their scales are the same. But it would be nice to have fields or disaggregated histograms for comparison.

ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2')
Ok, so we put an argument margins, and now we can compare, but all the histograms of the aggregated groups are stretched to 20, and this makes it difficult to compare them (see the figure below). Ok let's set scalesto be free then. this example is not terrible, since the data is fairly evenly distributed according to the sampling method that I used, but in real life some cells have only a few counters, while others have a lot and comparisons are even worse

ggplot(dat, aes(var1)) +
geom_histogram() +
facet_grid(var2~var3, margins='var2', scales="free_y")
, . , , ( - 14, 8ish, 7ish).

, margins? , , .