问题描述
我正在尝试使用facet_wrap_paginate()
包中的ggforce
将facet_wrap()
应用于大量面,如果它们在单个页面上则无法读取。但是,使用for()
循环(如插图中所述)来创建每个页面对于我的数据集来说非常慢,所以我想知道如何对这个过程进行矢量化处理?我怀疑的部分问题是我将for()
循环嵌套到一个函数中,以便可以将其应用于多种情况,并且我猜测它每次选择之前都会有效地重建整个图要显示的正确页面。如果我的假设是正确的,是否有办法代替每次重新构建图,而只是从已存储在内存中的图中选择页面?
library(tidyverse)
library(ggforce)
df <- mtcars
hist_plts <- function(data,var,title_vars,pages,x_low_lim = 0,x_up_lim = 50) {
for (i in 1:pages) {
plot <- data %>%
filter({{ var }} >= x_low_lim,{{ var }} < x_up_lim) %>%
ggplot(
aes(
x = {{ var }}
)
) +
geom_histogram(binwidth = 1) +
labs(
title = paste0("Count of mpg by ",title_vars),x = "MPG",y = " Count",caption = paste0("Page ",i," of ",pages)
) +
scale_x_continuous() +
facet_wrap_paginate(
~cyl,scales = "free",nrow = 1,ncol = 1,page = i)
print(plot)
}
}
hist_plts(
data = df,var = mpg,title_vars = "Cylinders",pages = 3)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)