Как мне фасетировать участки, каждый из которых содержит врезку?
Я пытаюсь построить данные временных рядов для каждого "Типа" в наборе данных, и я хочу включить вставку увеличенной части данных для каждого графика. Я могу заставить вставку работать на каждом отдельном графике, но проблема возникает, когда я пытаюсь использовать фасетку для создания всех графиков одновременно.
Метод, который я использовал для добавления врезки, основан на этом ответе: /questions/24525095/mozhno-li-sozdavat-vreznyie-grafyi/49437977#49437977
И метод, который я использовал для огранки графиков на нескольких страницах в формате PDF, основан на этом ответе: /questions/24553032/kak-sohranit-vyivod-iz-ggforcefacetgridpaginate-tolko-v-odnom-fajle-pdf/24553039#24553039
require(ggplot2)
require(ggforce)
require(ggpmisc)
#create example dataframe
exampledf<- data.frame("Time"= rep(1:50, 10), "Type"= rep(1:10, each=50), "Var1"= rnorm(1000), "Var2"= rnorm(1000))
graph_inset_facet<- function(df){
mainplot<- ggplot(df,
aes(x=Time, y=value))+
geom_point(aes(y=Var1, color= "Var1"))+
geom_point(aes(y= Var2, color="Var2"))
insetdf<-tibble(x = 0.9, y = 0.9,
plot = list(mainplot +
coord_cartesian(xlim = c(40, 45)) +
labs(x = NULL, y = NULL)))
mainplot +
expand_limits(x = 0, y = 0) +
geom_plot_npc(data = insetdf, aes(npcx = x, npcy = y, label = plot))
#wd is working directory
pdf(file = paste(wd, "facet inset.pdf"))
for(i in 1:2){
print(mainplot+
facet_grid_paginate(df$Type, nrow = 5, ncol = 1, page = i))
}
dev.off()
}
Этот код печатает PDF-файл с главными графиками, ограненными "Типом", но вставленные графики не отображаются. Я попытался запустить код с функциями expand_limits и geom_plot_npc внутри цикла print for, но вставленные графы по-прежнему не отображались.