私は、それぞれのファセットが独自の凡例を持つようにファセットをプロットしようとしています。しかし、私はそれがすべて正しく整列するためにいくつかの問題を抱えています。ファセットプロットと凡例の整列
dat <- structure(list(group1 = structure(c(1L, 1L, 2L, 2L, 2L), .Label = c("A",
"B"), class = "factor"), group2 = structure(c(1L, 2L, 1L, 3L,
2L), .Label = c("a", "b", "c"), class = "factor"), x = c("1",
"2", "3", "4", "2"), y = c("1", "2", "3", "4", "3")), .Names = c("group1",
"group2", "x", "y"), row.names = c(NA, 5L), class = "data.frame")
dat <- split(dat, f = dat$group1)
library(ggplot2)
p1 <- ggplot(dat$A) +
geom_point(aes(x=x, y=y, colour=group2)) +
facet_wrap(~group1) +
guides(colour=guide_legend(nrow=2)) +
scale_colour_manual(values=c(a = "green", b = "red", c = "blue"),
labels=c(a = "green", b = "red", c = "blue"))
p2 <- p1 %+% dat$B
gridExtra
を使用した問題は、プロットが整列しないということです。
library(gridExtra)
grid.arrange(p1, p2, p2, p1, ncol=2)
や伝説がやや集中しているcowplot
を使用して:
library(cowplot)
plot_grid(p1, p2, p2, p1, ncol=2, align="hv")
私が試しましたlegend.justification
および/または012を追加するただし、効果はありません。
どのように私は並ぶプロット/伝説の両方を得ることができますか?
伝説が同じ幅のサイズを取るように、私たちは、 ''ガイド(COL = guide_legend = 3(nrow))を追加することができます。 – zx8754
@ zx8754私の実際のデータには、ファセットに基づいて2-10の範囲のより多くの因子レベルがあります。いくつかの列を持ち、列の数を変えることはできません。 – beetroot