'ggplot2'> = 3.0.0 делает возможными новые подходы для добавления вставок, поскольку теперь tibble
объекты, содержащие списки в виде столбцов-членов, можно передавать как данные.Объекты в столбце списка могут быть даже целыми ggplots ... Последняя версия моего пакета 'ggpmisc' предоставляет geom_plot()
, geom_table()
и geom_grob()
, а также версии, которые вместо этого используют единицы npc исходных данных единиц для размещения вкладышей.Эти гемы могут добавлять несколько вставок за вызов и подчиняться огранке, чего не делает annotation_custom()
.Я копирую пример со страницы справки, которая добавляет вкладку с увеличенной детализацией основного графика в качестве вставки.
library(tibble)
library(ggpmisc)
p <-
ggplot(data = mtcars, mapping = aes(wt, mpg)) +
geom_point()
df <- tibble(x = 0.01, y = 0.01,
plot = list(p +
coord_cartesian(xlim = c(3, 4),
ylim = c(13, 16)) +
labs(x = NULL, y = NULL) +
theme_bw(10)))
p +
expand_limits(x = 0, y = 0) +
geom_plot_npc(data = df, aes(npcx = x, npcy = y, label = plot))
Или барплет в виде вставки, взятый из виньетки пакета.
library(tibble)
library(ggpmisc)
p <- ggplot(mpg, aes(factor(cyl), hwy, fill = factor(cyl))) +
stat_summary(geom = "col", fun.y = mean, width = 2/3) +
labs(x = "Number of cylinders", y = NULL, title = "Means") +
scale_fill_discrete(guide = FALSE)
data.tb <- tibble(x = 7, y = 44,
plot = list(p +
theme_bw(8)))
ggplot(mpg, aes(displ, hwy, colour = factor(cyl))) +
geom_plot(data = data.tb, aes(x, y, label = plot)) +
geom_point() +
labs(x = "Engine displacement (l)", y = "Fuel use efficiency (MPG)",
colour = "Engine cylinders\n(number)") +
theme_bw()