我使用的specific function在网格搜索算法中返回ggplot
,我想在绘图网格中排列结果图,就像facet_grid()
一样。
我不能使用标准的方面,因为每个场景只能在特定的尺度下解释,所以每个图都有独立的x/y限制。
下面是一个可重复的例子:
library(tidyverse)
library(patchwork)
get_plot = function(a, b) list(ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
geom_point() + ggtitle(paste0(a, "--", b)))
x = expand_grid(dist_fun = c("rnorm", "rexp"),
assumption=c("linear", "square")) %>%
rowwise() %>%
mutate(plot=get_plot(dist_fun, assumption))
x
#> # A tibble: 4 × 3
#> # Rowwise:
#> dist_fun assumption plot
#> <chr> <chr> <list>
#> 1 rnorm linear <gg>
#> 2 rnorm square <gg>
#> 3 rexp linear <gg>
#> 4 rexp square <gg>
#expected outcome, missing strips:
wrap_plots(x$plot)
字符串
x1c 0d1x的数据
创建于2023-12-08带有reprex v2.0.2
有没有办法把ggtitle
的标识替换成刻面状的条?
2条答案
按热度按时间92dk7w1h1#
好吧,这不是关于使用哪个函数的问题。要使用
patchwork
获得类似facet_grid
的外观,需要您编写一个自定义函数,在将ggplot
对象传递给wrap_plots
之前对其进行操作。为此,我首先添加了一个包含补丁中数字位置的列。然后,使用自定义函数,您可以删除轴,并根据位置添加条带:注意事项:虽然我喜欢这样的
patchwork
练习,但恕我直言,更简单的方法是从你的函数或包含数据和图的列表中返回数据,然后使用rbind
/bind_rows
+facet_grid
,就像评论中已经建议的那样。字符串
x1c 0d1x的数据
dl5txlt92#
正如其他人所说,最简单的方法是使用
x
对象,去掉数据,在基本的图结构中添加面。例如,下面的函数:字符串
允许:
型
的数据