Scales = "free" 适用于 facet_wrap 但不适用于 facet_grid
Scales = "free" works for facet_wrap but doesn't for facet_grid
我试图理解为什么 facet_grid()
和 facet_wrap()
的输出不同,即使输入相同:
facet_grid
ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_grid(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
facet_wrap
ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_wrap(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
看,参数 scales = "free"
与 facet_grid()
和 facet_wrap()
的行为不同。有什么可以解释的?
参考this link:
facet_grid
通过一个或两个在水平 and/or 垂直方向上变化的变量将数据拆分为多个方面,而 facet_wrap
将各个方面彼此相邻,并用一定数量的列或行。换句话说,facet_wrap
只有水平维度。
因此,使用 link 中的示例,sp + facet_grid(. ~ sex)
的行为与 sp + facet_grid( ~ sex)
相同。在您的情况下,facet_grid(. ~ referencia)
和 facet_wrap( ~ referencia)
应该产生相同的图。
对于二维或更多维方面,facet_grid
根据参数 (vertical ~ horizontal)
生成绘图网格。另一方面,facet_wrap
只会水平堆叠这些图。然后用户可以通过指定列数或行数来设置布局。
现在,当添加 scales = "free"
参数时,facet_grid
中的面仍将以网格为界,因此同一行上的绘图不能有不同的 y 轴。同样,每列只能有一个 x 轴。但是,使用 facet_wrap
,每个图都是独立显示的,因此它可以 "free" 其 x 轴和 y 轴。
在我看来,facet_grid
当你想比较一个类别内的图时很有用,这可以通过设置相同的轴刻度来实现。同时,facet_wrap
对于彼此之间更独立的地块更有用。
我试图理解为什么 facet_grid()
和 facet_wrap()
的输出不同,即使输入相同:
facet_grid
ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_grid(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
facet_wrap
ggplot(temp, aes(x = valor)) +
geom_histogram(binwidth = 5, fill = NA, color = "black") +
facet_wrap(estratificacao ~ referencia, scales = "free") +
scale_x_continuous(breaks = seq(0, 100, 10)) + theme_classic()
看,参数 scales = "free"
与 facet_grid()
和 facet_wrap()
的行为不同。有什么可以解释的?
参考this link:
facet_grid
通过一个或两个在水平 and/or 垂直方向上变化的变量将数据拆分为多个方面,而 facet_wrap
将各个方面彼此相邻,并用一定数量的列或行。换句话说,facet_wrap
只有水平维度。
因此,使用 link 中的示例,sp + facet_grid(. ~ sex)
的行为与 sp + facet_grid( ~ sex)
相同。在您的情况下,facet_grid(. ~ referencia)
和 facet_wrap( ~ referencia)
应该产生相同的图。
对于二维或更多维方面,facet_grid
根据参数 (vertical ~ horizontal)
生成绘图网格。另一方面,facet_wrap
只会水平堆叠这些图。然后用户可以通过指定列数或行数来设置布局。
现在,当添加 scales = "free"
参数时,facet_grid
中的面仍将以网格为界,因此同一行上的绘图不能有不同的 y 轴。同样,每列只能有一个 x 轴。但是,使用 facet_wrap
,每个图都是独立显示的,因此它可以 "free" 其 x 轴和 y 轴。
在我看来,facet_grid
当你想比较一个类别内的图时很有用,这可以通过设置相同的轴刻度来实现。同时,facet_wrap
对于彼此之间更独立的地块更有用。