Hallo,
Manchmal kann ein Datensatz überlappende Punkte enthalten. Standardmäßig werden mit der Maus über dem Gridlet die Anzahl der überlappenden Punkte (N) und einige andere Informationen angezeigt (siehe Beispielbild unten aus dem großen class.jmp-Datensatz).

Ich bin daran interessiert, dass diese Informationen auch in Textlet- oder Graphet-Skripten verwendet werden. Wie kann ich schwebende Zeilen auflisten lassen? Ich kann die folgende Syntax für ausgewählte Zeilen verwenden, aber durch Bewegen des Mauszeigers wird keine Auswahl getroffen. Und soweit ich weiß, gibt es keine Funktion zum Abrufen schwebender Zeilen. Irgendwelche Vorschläge?
selected_rows = as list(dt << get selected rows);
Im Folgenden wird die erste Zeile der überlappenden Zeilen zurückgegeben. Wie kann ich auf zugrunde liegende Datenpunkte verweisen, z. B. in For-Schleifen?
:height[local:_firstRow]
Im Folgenden wird als Teil des Textlets die Anzahl der darunter liegenden Zeilen zurückgegeben, aber meines Wissens werden die Zeilen nicht zurückgegeben, z. B. als Liste.
<B>Underlying Rows</B>: {local:_underlyingRows}Ich habe versucht, das folgende Kapitel sorgfältig zu lesen, kann aber keine Lösung für meine Frage finden:
Skripthandbuch > Skripterstellung für Diagramme > Hover-Beschriftungen > Arbeiten mit dem Hover-Label-Ausführungskontext
Bisher habe ich dieses Problem gelöst, indem ich Jitter verwendet habe, um überlappende Punkte zu vermeiden, aber ich bin mir sicher, dass es einen besseren Weg gibt, dies zu tun. Vielen Dank für Ihre Ratschläge!
Janne
Hallo Jarmo,
Vielen Dank für Ihren Vorschlag, die Dokumentation sorgfältiger zu lesen, und für Ihr schnelles Beispiel. Mit dieser Hilfe verstand ich besser, wie das funktioniert Hover Label Execution Context Variables funktioniert (insbesondere _where). Ich konnte dieses Konzept in meine Bewerbung integrieren. Danke noch einmal,
Janne
Sehr kurzes Beispiel hier:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:height), Y(:weight)),
Elements(Points(X, Y, Legend(1))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
Set Textlet(
Setup(
expr = Parse(local:_where);
local:r = local:_dataTable << Get Rows Where(expr)
),
Markup("{local:r} rows")
)
)
)
);

(Ich habe auf den Punkt geklickt, um ihn in der Datentabelle hervorzuheben.)
Wenn ich mich richtig erinnere, gab es in der JMP-Hilfe eine recht gute Dokumentation zu Hover-Labels und ihrem Ausführungskontext: Arbeiten mit dem Hover-Label-Ausführungskontext (jmp.com) . Möglicherweise müssen Sie die verfügbaren Informationen verwenden, um eine Abfrage in der Datentabelle durchzuführen und alle Zeilen abzurufen.