Wie würden Sie bei einem ggplot von beispielsweise Punkten die Datenzeile herausfinden, der ein bestimmter Punkt entsprach?
Ein Beispielplot:
%Vor% Wir können die Grobs, die Punkte enthalten, mit grid.ls
+ grid.get
erhalten.
Diese letzte Variable enthält Details der xy-Koordinaten und der Punktgröße usw. (probiere unclass(point_grobs[[1]])
), aber es ist nicht offensichtlich, wie ich die Datenzeile in mtcars
erhalte, der jeder Punkt entspricht.
Um KOHSKES Frage zu beantworten, warum mache ich das, verwende ich gridSVG
, um ein interaktives Streudiagramm zu erstellen. Wenn Sie die Maus über einen Punkt bewegen, möchte ich Kontextinformationen anzeigen. Im Beispiel von mtcars konnte ich einen Tooltip mit dem Namen des Autos oder anderen Werten aus dieser Zeile des Datenrahmens anzeigen.
Meine bisherige Hacky-Idee ist es, eine id
-Spalte als unsichtbare Textbezeichnung einzubinden:
Durchquere dann den Grobbaum von dem Punkt grob bis zum Text grob und zeige die Zeile des Datasets an, die durch das Label indiziert ist.
Das ist fummelig und nicht sehr verallgemeinerbar. Wenn es eine Möglichkeit gibt, den id
Wert innerhalb des Punktes grob zu speichern, wäre es viel sauberer.