Es ist möglich, erstellen inset-Graphen?
Ich weiß, dass, wenn Sie par( fig=c( ... ), new=T )
können Sie erstellen, inset-Graphen. Aber ich Frage mich, ob es möglich ist, mit ggplot2-Bibliothek erstellen 'inset' Graphen.
UPDATE 1: ich habe versucht mit der par()
mit ggplot2, aber es funktioniert nicht.
UPDATE 2: ich habe eine funktionierende Lösung an ggplot2 GoogleGroups mit grid::viewport()
.
- Diese Beitrag auf das Lernen von R blog geht, wie die Handlung innerhalb einer Handlung. Der blog hat viele andere tolle Beiträge auf ggplot2.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Abschnitt 8.4 der das Buch erklärt, wie dies zu tun. Der trick ist die Verwendung der
grid
Paket istviewport
s.print(another_plot, vp = vp)
. Es dauerte eine Weile, um herauszufinden. +1Bevorzuge ich Lösungen, die die Arbeit mit ggsave. Nach viel googeln um ich landete mit diesem (das ist eine Allgemeine Formel für die Positionierung und Dimensionierung der Handlung, die Sie einfügen.
l1$layout$panel_ranges[[1]]$x.range[1]
. Hinweis: diel1$layout$panel_ranges....
Viel einfachere Lösung ist die Verwendung
ggplot2
undegg
. Am wichtigsten ist diese Lösung funktioniert mitggsave
.egg
Paket. Beachten Sie, dass nur mitlibrary(ggplot2)
ist mehr als genug (man braucht nicht extratidyverse
nochegg
)Alternativ können die
cowplot
R-Paket von Claus O. Wilke (cowplot
ist eine mächtige Erweiterung derggplot2
). Der Autor hat ein Beispiel, über das Plotten eines Abzugs innerhalb eines größeren Graphen in dieses intro vignette. Hier finden Sie einige angepasste code:main.plot
zuggdraw()
zum speichern einer Zeile code.'ggplot2' >= 3.0.0 ermöglicht neue Ansätze für das hinzufügen von Einlagen, wie jetzt
tibble
Objekte mit Listen als Mitglied Spalten übergeben werden können, als Daten. Die Objekte in der Liste Spalte können sogar ganze ggplots... Die neueste version der mein Paket 'ggpmisc' bietetgeom_plot()
,geom_table()
undgeom_grob()
, und auch Versionen verwenden npc Einheiten statt native Daten Einheiten für die Lokalisierung der Einsätze. Diese geoms können mehrere Einsätze pro call und gehorchen Facettierung, dieannotation_custom()
nicht. Ich kopiere das Beispiel aus der Hilfe-Seite Hinzugefügt, sodass ein Rand mit einer zoom-in detail der Haupt-plot als ein Einschub.Oder ein barplot als Einschub aus dem Paket vignette.