I am trying to restrict the legend of a ggplot
(with ggpattern
) to 2 rows. It is more or less straightforward here when you only have one aesthetic to play with. Additionally, this is a good example of how to manipulate legends with more than 1 aesthetic (e.g., shape AND color). Yet, ggpattern
blends these into seemingly one aesthetic and the manipulation of the resulting legend isn't as straightforward.
Data and session info to reproduce at bottom.
library(ggplot2)
library(ggpattern)
p0<-ggplot(Dat)+
geom_col(
aes(y=Prop,x=MHW,fill=Consumer),
color="black",alpha=0.8
)+
facet_wrap(~Donor,nrow=2,scales="free")+
theme_classic()+
theme(
axis.text.x = element_text(angle=90),
legend.position = "bottom"
)+
guides(
fill = guide_legend(nrow = 2)
)
png("Test0.png",width=12,height=9,units = "in",res=300,type = "cairo")
p0
dev.off()
As expected, the legend is in 2 rows:
Now let's change to ggpattern (changed rows indicated with ##
)
p1<-ggplot(Dat)+
geom_col_pattern( ##
aes(y=Prop,x=MHW,fill=Consumer,
pattern=Consumer,pattern_fill=Consumer), ##
color="black",alpha=0.8,
pattern_key_scale_factor=.3 ##
)+
facet_wrap(~Donor,nrow=2,scales="free")+
theme_classic()+
theme(
axis.text.x = element_text(angle=90),
legend.position = "bottom"
)+
guides(
# fill = guide_legend(nrow = 2),
pattern_fill = guide_legend(nrow = 2) ##
)+
scale_pattern_manual( ##
values=c(rep(c('circle','stripe', 'crosshatch'),5)) ##
)
png("Test1.png",width=12,height=9,units = "in",res=300,type = "cairo")
p1
dev.off()
Yet, now the legend isn't restricted to two rows. If you try just the fill
aesthetic or both at the same time:
guides(
fill = guide_legend(nrow = 2),
pattern_fill = guide_legend(nrow = 2)
)+
and
guides(
fill = guide_legend(nrow = 2) #,
# pattern_fill = guide_legend(nrow = 2)
)+
neither help restrict the legend to two rows. How do I restrict the legend?
Dat<-structure(list(Detritus = c(195.378055295869, 195.378055295869,
195.378055295869, 195.378055295869, 195.378055295869, 195.378055295869,
195.378055295869, 195.378055295869, 195.378055295869, 195.378055295869,
66.9513777221605, 66.9513777221605, 66.9513777221605, 66.9513777221605,
66.9513777221605, 66.9513777221605, 66.9513777221605, 66.9513777221605,
66.9513777221605, 66.9513777221605, 202.062496802138, 202.062496802138,
202.062496802138, 202.062496802138, 202.062496802138, 202.062496802138,
202.062496802138, 202.062496802138, 202.062496802138, 202.062496802138,
1.10145527938025, 1.10145527938025, 1.10145527938025, 1.10145527938025,
1.10145527938025, 1.10145527938025, 1.10145527938025, 1.10145527938025,
1.10145527938025, 1.10145527938025, 0.095218385013956, 0.095218385013956,
0.095218385013956, 0.095218385013956, 0.095218385013956, 0.095218385013956,
0.095218385013956, 0.095218385013956, 0.095218385013956, 0.095218385013956,
0.696299572709905, 0.696299572709905, 0.696299572709905, 0.696299572709905,
0.696299572709905, 0.696299572709905, 0.696299572709905, 0.696299572709905,
0.696299572709905, 0.696299572709905, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0.00476602121672308, 0.00476602121672308, 0.00476602121672308,
0.00476602121672308, 0.00476602121672308, 0.00476602121672308,
0.00476602121672308, 0.00476602121672308, 0.00476602121672308,
0.00476602121672308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110.223171189265,
110.223171189265, 110.223171189265, 110.223171189265, 110.223171189265,
110.223171189265, 110.223171189265, 110.223171189265, 110.223171189265,
110.223171189265, 0.054931677571981, 0.054931677571981, 0.054931677571981,
0.054931677571981, 0.054931677571981, 0.054931677571981, 0.054931677571981,
0.054931677571981, 0.054931677571981, 0.054931677571981, 0.000772862445925245,
0.000772862445925245, 0.000772862445925245, 0.000772862445925245,
0.000772862445925245, 0.000772862445925245, 0.000772862445925245,
0.000772862445925245, 0.000772862445925245, 0.000772862445925245,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329.312477609154, 329.312477609154,
329.312477609154, 329.312477609154, 329.312477609154, 329.312477609154,
329.312477609154, 329.312477609154, 329.312477609154, 329.312477609154,
3.06883722794725, 3.06883722794725, 3.06883722794725, 3.06883722794725,
3.06883722794725, 3.06883722794725, 3.06883722794725, 3.06883722794725,
3.06883722794725, 3.06883722794725, 77.6283061274114, 77.6283061274114,
77.6283061274114, 77.6283061274114, 77.6283061274114, 77.6283061274114,
77.6283061274114, 77.6283061274114, 77.6283061274114, 77.6283061274114,
0.276194323464863, 0.276194323464863, 0.276194323464863, 0.276194323464863,
0.276194323464863, 0.276194323464863, 0.276194323464863, 0.276194323464863,
0.276194323464863, 0.276194323464863, 0.647536119803539, 0.647536119803539,
0.647536119803539, 0.647536119803539, 0.647536119803539, 0.647536119803539,
0.647536119803539, 0.647536119803539, 0.647536119803539, 0.647536119803539,
1.11133139200563, 1.11133139200563, 1.11133139200563, 1.11133139200563,
1.11133139200563, 1.11133139200563, 1.11133139200563, 1.11133139200563,
1.11133139200563, 1.11133139200563, 0.0268967426691688, 0.0268967426691688,
0.0268967426691688, 0.0268967426691688, 0.0268967426691688, 0.0268967426691688,
0.0268967426691688, 0.0268967426691688, 0.0268967426691688, 0.0268967426691688,
0.622290423005387, 0.622290423005387, 0.622290423005387, 0.622290423005387,
0.622290423005387, 0.622290423005387, 0.622290423005387, 0.622290423005387,
0.622290423005387, 0.622290423005387, 0.359791910433618, 0.359791910433618,
0.359791910433618, 0.359791910433618, 0.359791910433618, 0.359791910433618,
0.359791910433618, 0.359791910433618, 0.359791910433618, 0.359791910433618,
184.29970071925, 184.29970071925, 184.29970071925, 184.29970071925,
184.29970071925, 184.29970071925, 184.29970071925, 184.29970071925,
184.29970071925, 184.29970071925, 0.0146353418211845, 0.0146353418211845,
0.0146353418211845, 0.0146353418211845, 0.0146353418211845, 0.0146353418211845,
0.0146353418211845, 0.0146353418211845, 0.0146353418211845, 0.0146353418211845,
0.000715875766578085, 0.000715875766578085, 0.000715875766578085,
0.000715875766578085, 0.000715875766578085, 0.000715875766578085,
0.000715875766578085, 0.000715875766578085, 0.000715875766578085,
0.000715875766578085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Fishery = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0), Consumer = c("Zooplankton", "Zooplankton",
"Zooplankton", "Zooplankton", "Zooplankton", "Zooplankton", "Zooplankton",
"Zooplankton", "Zooplankton", "Zooplankton", "Gelatinous", "Gelatinous",
"Gelatinous", "Gelatinous", "Gelatinous", "Gelatinous", "Gelatinous",
"Gelatinous", "Gelatinous", "Gelatinous", "Krill", "Krill", "Krill",
"Krill", "Krill", "Krill", "Krill", "Krill", "Krill", "Krill",
"Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish",
"Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish",
"Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish",
"Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish",
"Juvenile Fish", "Juvenile Fish", "Juvenile Fish", "Juvenile Fish",
"Juvenile Fish", "Juvenile Fish", "Juvenile Fish", "Juvenile Fish",
"Juvenile Fish", "Juvenile Fish", "Rockfish", "Rockfish", "Rockfish",
"Rockfish", "Rockfish", "Rockfish", "Rockfish", "Rockfish", "Rockfish",
"Rockfish", "Jack Mackerel", "Jack Mackerel", "Jack Mackerel",
"Jack Mackerel", "Jack Mackerel", "Jack Mackerel", "Jack Mackerel",
"Jack Mackerel", "Jack Mackerel", "Jack Mackerel", "Hake", "Hake",
"Hake", "Hake", "Hake", "Hake", "Hake", "Hake", "Hake", "Hake",
"Benthic", "Benthic", "Benthic", "Benthic", "Benthic", "Benthic",
"Benthic", "Benthic", "Benthic", "Benthic", "Seabirds", "Seabirds",
"Seabirds", "Seabirds", "Seabirds", "Seabirds", "Seabirds", "Seabirds",
"Seabirds", "Seabirds", "Mammals", "Mammals", "Mammals", "Mammals",
"Mammals", "Mammals", "Mammals", "Mammals", "Mammals", "Mammals",
"Fishery", "Fishery", "Fishery", "Fishery", "Fishery", "Fishery",
"Fishery", "Fishery", "Fishery", "Fishery", "Zooplankton", "Zooplankton",
"Zooplankton", "Zooplankton", "Zooplankton", "Zooplankton", "Zooplankton",
"Zooplankton", "Zooplankton", "Zooplankton", "Gelatinous", "Gelatinous",
"Gelatinous", "Gelatinous", "Gelatinous", "Gelatinous", "Gelatinous",
"Gelatinous", "Gelatinous", "Gelatinous", "Krill", "Krill", "Krill",
"Krill", "Krill", "Krill", "Krill", "Krill", "Krill", "Krill",
"Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish",
"Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish", "Forage Fish",
"Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish",
"Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish", "Misc. Fish",
"Juvenile Fish", "Juvenile Fish", "Juvenile Fish", "Juvenile Fish",
"Juvenile Fish", "Juvenile Fish", "Juvenile Fish", "Juvenile Fish",
"Juvenile Fish", "Juvenile Fish", "Rockfish", "Rockfish", "Rockfish",
"Rockfish", "Rockfish", "Rockfish", "Rockfish", "Rockfish", "Rockfish",
"Rockfish", "Jack Mackerel", "Jack Mackerel", "Jack Mackerel",
"Jack Mackerel", "Jack Mackerel", "Jack Mackerel", "Jack Mackerel",
"Jack Mackerel", "Jack Mackerel", "Jack Mackerel", "Hake", "Hake",
"Hake", "Hake", "Hake", "Hake", "Hake", "Hake", "Hake", "Hake",
"Benthic", "Benthic", "Benthic", "Benthic", "Benthic", "Benthic",
"Benthic", "Benthic", "Benthic", "Benthic", "Seabirds", "Seabirds",
"Seabirds", "Seabirds", "Seabirds", "Seabirds", "Seabirds", "Seabirds",
"Seabirds", "Seabirds", "Mammals", "Mammals", "Mammals", "Mammals",
"Mammals", "Mammals", "Mammals", "Mammals", "Mammals", "Mammals",
"Fishery", "Fishery", "Fishery", "Fishery", "Fishery", "Fishery",
"Fishery", "Fishery", "Fishery", "Fishery"), Donor = c("Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic", "Zooplankton",
"Gelatinous", "Krill", "Forage Fish", "Misc. Fish", "Juvenile Salmon",
"Rockfish", "Hake", "Juvenile Fish", "Benthic"), Prop = c(1417.16886531397,
21.8852589743467, 29.5205335617856, 0, 0, 0, 0, 0, 0, 1.27731039677243,
327.50830866045, 51.1400615337213, 5.29647698895142, 0, 0, 0,
0, 0, 0, 0, 432.093078201989, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51.0494310878386,
1.85177307192677, 53.6791923903298, 1.22426881699568, 0.447678212520347,
0.0108188062979273, 0, 0, 0.712122477894116, 0.129836991126026,
3.01381479489865, 0.429375380502875, 9.55847366160016, 6.55116783323041,
0.840840438605795, 0.046249710322369, 0.322652592269059, 1.40659738778568,
2.35895229863508, 5.69632701706482, 40.305644317743, 0.514963426130939,
2.91947031365883, 0.121615077889678, 0.00907555165297567, 0.00073539519140489,
0, 0, 1.22469472688476, 0.545024905072436, 2.04957719585246,
0.0118268711741824, 3.20784444214808, 2.10466339517761, 0.485237400053026,
0.0144050814181559, 0.153615511374632, 0.159524411882556, 0.414147440805842,
0.519689856899177, 0.430867611693594, 0.00636979594256325, 1.60749793559994,
0.537926031684436, 0, 0.00421928392766898, 0, 0, 0.135549144211162,
0.0016863834068481, 2.90620227916775, 2.53134901312395, 35.6129076971812,
12.0952219885951, 0.422734254350647, 0.0843215249443493, 0, 0,
4.10550720195767, 1.91790098672496, 37.1197406894923, 0, 25.3967690693007,
0.18826756476134, 0.0263827559709179, 0.00156361299544017, 0.00284374656952413,
0, 0.732307567289515, 25.2546400500606, 0.368626704299541, 0.000420231357235188,
0.120199285044128, 4.87345318075009, 0.124373759218538, 0.0313985827066985,
0.0206980939802894, 0.0230888380542323, 0, 0.00109874331718929,
0.478519185765927, 0.339160466140748, 1.49993377656359, 3.27450722365355,
1.10728850131732, 0.0224745992469266, 0.17760410033594, 0.382116804399672,
0.10544737536346, 0.34064263571257, 0, 0, 0, 0.561734361421642,
0.262123906500932, 0, 0.0520197154380621, 3.63666569668098, 0,
0.17085404555258, 1480.98880868256, 0.383980696580429, 36.6319663034093,
0, 0, 0, 0, 0, 0, 2.11127300809657, 208.319040675764, 0.273992987508079,
0.0891092907137129, 0, 0, 0, 0, 0, 0, 0, 215.954490957687, 0,
0, 0, 0, 0, 0, 0, 0, 0, 54.9286009257789, 0.469161558508563,
49.7201823328684, 0.776011196128181, 0.460993201935953, 0.0138672177550104,
0, 0, 1.68378528625113, 1.4659268303144, 4.09811728002028, 0.680189846947001,
11.6133184499861, 7.92139441496285, 1.66589001872885, 0.0863688062908657,
0.563271711372325, 1.7249508532637, 2.2469144494425, 7.49849908468619,
55.3998578378037, 0.138117020761687, 3.76784428776134, 0.157589368848881,
0.00192934846852898, 0.00103455463884516, 0, 0, 2.37768234206405,
0.810825459331864, 3.45834639799013, 0.0846596910083975, 4.30189127867907,
1.18438711744062, 0.758357275742268, 0.028135073209926, 0.270450419403965,
0.190235699660435, 0.818734910162449, 1.00450088431345, 10.1271816346645,
0.00965720383832612, 18.3577682768183, 3.36083127325828, 0.210530386674747,
0.0969152790969377, 0.0176366626588672, 0.00344950826715526,
0.702115148690833, 1.94932045096121, 6.41358861842098, 0.0325668049210667,
24.1805699214855, 8.19422969521942, 0.339716093070585, 0.300324597784372,
0, 0, 2.71099913452328, 3.14003215421284, 84.3060340111592, 0,
46.9831368242163, 0.00351634488635138, 0.00995667063934028, 2.96446503412003e-08,
0.0101229566324351, 0, 0.916063930481584, 58.6764716462903, 0.166829601836717,
5.58184727333846e-05, 0.0755490452347125, 1.68692379472434, 0.0189872627761935,
0.0288880616347642, 0.000946039170233896, 0.00767217984651186,
0.076294623199603, 0.00057506209452, 0.5227132252172, 0.0619482744787457,
1.84886149950565, 2.35514009373859, 0.884300572657665, 0.0419638868682333,
0.128465917860897, 0.295031688941958, 0.12000517842897, 0.470381017621623,
0, 0, 0, 0.0207034634950007, 0.214221943642372, 0, 0.0515155760949915,
2.31093873862259, 0, 0.144893998318959), MHW = 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, 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, 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,
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, 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, 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, 2L), levels = c("pre", "post"), class = "factor")), row.names = c(NA,
-260L), class = c("tbl_df", "tbl", "data.frame"))
> sessionInfo()
R version 4.2.2 (2022-10-31 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8
[3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C
[5] LC_TIME=English_United States.utf8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_1.0.9 ggpattern_1.0.0 ggplot2_3.4.0 tidyr_1.2.0
loaded via a namespace (and not attached):
[1] Rcpp_1.0.8.3 pillar_1.7.0 compiler_4.2.2 class_7.3-20
[5] tools_4.2.2 memoise_2.0.1 lifecycle_1.0.3 tibble_3.1.7
[9] gtable_0.3.0 pkgconfig_2.0.3 rlang_1.0.6 DBI_1.1.2
[13] cli_3.6.0 rstudioapi_0.13 gridpattern_1.0.1 fastmap_1.1.0
[17] e1071_1.7-11 withr_2.5.0 generics_0.1.2 vctrs_0.5.1
[21] classInt_0.4-7 grid_4.2.2 tidyselect_1.1.2 glue_1.6.2
[25] sf_1.0-7 R6_2.5.1 fansi_1.0.3 purrr_0.3.4
[29] farver_2.1.0 magrittr_2.0.3 units_0.8-0 scales_1.2.0
[33] ellipsis_0.3.2 assertthat_0.2.1 colorspace_2.0-3 labeling_0.4.2
[37] KernSmooth_2.23-20 utf8_1.2.2 proxy_0.4-27 munsell_0.5.0
[41] cachem_1.0.6 crayon_1.5.1
Although you've specified fill
and pattern_fill
, the only thing you are missing and the only thing you actually need to specify is pattern
(although you won't get an error for including all three):
guides(pattern = guide_legend(nrow = 2))+
p2<-ggplot(Dat)+
geom_col_pattern(
aes(y=Prop,x=MHW,fill=Consumer,
pattern=Consumer,pattern_fill=Consumer),
color="black",alpha=0.8,
pattern_key_scale_factor=.3
)+
facet_wrap(~Donor,nrow=2,scales="free")+
theme_classic()+
theme(
axis.text.x = element_text(angle=90),
legend.position = "bottom"
)+
guides(
pattern = guide_legend(nrow = 2)
)+
scale_pattern_manual(
values=c(rep(c('circle','stripe', 'crosshatch'),5))
)
png("Test2.png",width=12,height=9,units = "in",res=300,type = "cairo")
p2
dev.off()