Обустройство большого количества участков и соединение с линиями в р

У меня есть большое количество маленьких сюжетов, которые нужно разместить на большом полотне и расположить маленькие сюжеты и соединить их линиями. Небольшой пример будет выглядеть так:

А-Л - независимые участки. Дается кординат их размещения.

Координаты координатной сетки: PlotgridX и plotgridY могут решить, когда необходимо центрировать небольшой график.

    plotcord <- data.frame (
plotname = c("A", "B", "C", "D",    "E",    "F",   "G", "H", "I", "J", "K", "L"),
plotgridX = c( 1.5, 2,   5,   5.5,   1.75,  5.25,  8   , 1 ,  2,   3.5,  6,  7.5),
 plotgridY = c( 3,  3,    3,    3,     2 ,    2,    2,   2  , 1,   1,   1,   1))


   plotname plotgridX plotgridY
1         A      1.50         3
2         B      2.00         3
3         C      5.00         3
4         D      5.50         3
5         E      1.75         2
6         F      5.25         2
7         G      8.00         2
8         H      1.00         2
9         I      2.00         1
10        J      3.50         1
11        K      6.00         1
12        L      7.50         1

Соединительные линии определяются следующим фреймом данных:

connectd <- data.frame (id = c(  "E",    "F", "I", "J", "K", "L"),
                        parent1 = c("A",  "C", "H", "E" ,"E", "F"),
                      parent2 = c("B",  "D",  "E", "F", "F", "G"))
connectd
  id parent1 parent2
1  E       A       B
2  F       C       D
3  I       H       E
4  J       E       F
5  K       E       F
6  L       F       G

Например, здесь цифра E должна быть соединена с ее родительскими цифрами «A» и родительскими цифрами «B» одновременно, а «A», «B» должны быть соединены, чтобы сделать это «Т-образным» соединением. Аналогично для других идентификаторов.

Несмотря на то, что у меня есть другие детали, которые можно построить на каждом участке, в качестве доказательства концепции я мог бы нарисовать один прямоугольник с каждым графиком с именами n1 и n2, чтобы создать график, подобный следующему:

Ответы на вопрос(2)

Ваш ответ на вопрос