以Auto MPG 数据集为例,我想创建显示高速公路里程〜年份、〜位移、〜缸之间关系的图。您可以使用面网格来完成此操作,其中行是制造商且列 = c(年份、位移和 cyl)?
到目前为止,我只能在三个单独的图中完成此操作,并且希望合并为一个图。
ggplot(mpg, aes(year, hwy)) +
geom_smooth(method = "lm", se = FALSE)+
facet_grid(rows = vars(manufacturer))
ggplot(mpg, aes(displ, hwy)) +
geom_smooth(method = "lm", se = FALSE)+
facet_grid(rows = vars(manufacturer))
ggplot(mpg, aes(cyl, hwy)) +
geom_smooth(method = "lm", se = FALSE)+
facet_grid(rows = vars(manufacturer))
Run Code Online (Sandbox Code Playgroud)
在 ggplot2 中,您只能对单个变量进行分面。解决方案是将数据转换为长格式,以便您想要分面的变量包含在单个变量中。在这里,我们将year、displ和cyl转换为一name列(我们对其进行分面)和一value列用作 X 轴值。
请注意,我们至少需要在 X 轴上设置自由比例,因为年份不同变量之间的比例如此不同
mpg %>%
pivot_longer(c(year, displ, cyl)) %>%
ggplot(aes(value, hwy)) +
geom_smooth(method = "lm", se = FALSE)+
facet_grid(rows = vars(manufacturer), cols=vars(name), scales = 'free')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
844 次 |
| 最近记录: |