Anordnung einer großen Anzahl von Grundstücken und Verbindung mit Linien in r

Ich habe eine große Anzahl von kleinen Parzellen, die in eine größere Parzellenleinwand gestellt werden müssen, und ordne kleine Parzellen an und verbinde sie mit Linien. Ein kleines Beispiel sieht so aus:

A bis L sind unabhängige Diagramme. Die Koordinate ihrer Platzierung ist angegeben.

Plotgitterkoordinaten: PlotgridX und plotgridY können entscheiden, wann das kleine Plot zentriert werden soll

    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

Die Verbindungslinien werden durch den folgenden Datenrahmen bestimmt:

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

Zum Beispiel sollte hier Abbildung E mit den übergeordneten 1 "A" - und 2 "B" -Figuren gleichzeitig verbunden werden. "A", "B" sollten verbunden werden, um eine "T-förmige" Verbindung herzustellen. Ähnliches gilt für die anderen IDs.

Obwohl ich in jeder Teilzeichnung andere Details zu zeichnen habe, könnte ich als Beweis für das Konzept ein Rechteck mit den Namen n1 und n2 für jede Zeichnung zeichnen, um eine Zeichnung wie die folgende zu erstellen:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage