Betreff: Hover-Labels: Präziseren Filter senden?Handbuch zur Skripterstellung > Skripterstellung für Diagramme > Hover-Labels > Mit dem Hover-Label-Ausführungskontext arbeiten ist sehr hilfreich bei Hoverlabels
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:sex), Y(:age), Color(:name)),
Elements(Points(X, Y, Legend(19))),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Textlet(
Setup(
local:encodedWhere = XML Encode(local:_where);
Show(Namespace("local") << Get Contents());
),
Markup(
"
<B>Groupings</B>: {local:_groupings}
<B>Measurements</B>: {local:_measurements}
<B>Summary statistic</B>: {local:_summaryStatistic}
<B>Filter columns</B>: {local:_filters}
<B>Where clause</B>: {local:encodedWhere}
<B>Graph type</B>: {local:_displaySegName}
<B>Data table</B> {local:_dataTable}
<B>Drill depth</B>: {local:_drillDepth}
<B>First Row</B>: {local:_firstRow}
<B>Underlying Rows</B>: {local:_underlyingRows}
"
)
)}
)
)
);
Wenn Sie das ausführen und sich das Protokoll ansehen, sollten Sie auf den Namenswert zugreifen können
Namespace("local") << Get Contents() = {{"_filters", {:sex, :age}}, {"_mode", "Textlet"}, {"_where", ":sex == \!"F\!" & :age == 16"}, {"_age", 16}, {"_name", "MARION"}, {"_sex", "F"}, {"_groupings", {:sex, :age}}, {"_firstRow", 36}, {"_underlyingRows", 1}, {"_measurements", {}}, {"_displaySegName", "MarkerSeg"}, {"_dataTable", DataTable("Big Class")}, {"_summaryStatistic", ""}, {"_drillDepth", 1}, {"_xaxis", 0}, {"_yaxis", 0}, {"_customData", [=>]}, {"_localDataFilter", "Local Data Filter(
Close Outline(1),
Add Filter(columns(:sex, :age), Where(:sex == \!"F\!"), Where(:age == 16))
)"}, {"_whereExpr", :sex == "F" & :age == 16}, {"encodedWhere", ":sex == "F" & :age == 16"}};
aber ich bin mir nicht sicher, ob Sie den Namensfilter im Plotterdiagramm (einfach) erzwingen können. Sie können Filter mit Skip Filter entfernen, haben aber keine Ahnung, wie Sie sie hinzufügen Handbuch zur Skripterstellung > Skripterstellung für Diagramme > Hover-Beschriftungen > Hinzufügen von Diagrammen oder Bildern zu Hover-Beschriftungen mithilfe von Graphlets . Subset-Workaround ist eine Option
Mit Overlay können Sie auf diese Ebene filtern, aber das ist nicht wirklich hilfreich, da Sie nicht über diesen einzelnen Punkt fahren können ...
Betreff: Hover-Labels: Präziseren Filter senden?Ich meine:
eine Lösung, die ich meinen Kollegen zeigen kann, die eine 30-Tage-Testlizenz haben - um sie davon zu überzeugen, dass Jmp SOOOOO nützlich und SOOOO einfach ist.

Betreff: Hover-Labels: Präziseren Filter senden?Anpassung des Codes von Hover-Graphlet-aus-einer-anderen-Datentabelle e#M55890 , ich denke, es wird so etwas wie der unten stehende Code sein - aber ich hoffe, dass es eine Version ohne JSL (2 Klicks?) gibt.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
mainGB = dt << Graph Builder( Variables( X( :sex ), Y( :age ), Color( :name ) ), Elements( Points( X, Y, Legend( 19 ) ) ) );
Report( mainGB )["Graph Builder", FrameBox( 1 )] << Set Graphlet(
Picture(
getGraphlet = Function( {row},
{gb},
gb = Graph Builder( Variables( Y( :height ) ), Elements( Points( Y, Legend( 6 ) ) ) );
gb << Local Data Filter( Close Outline( 1 ), Add Filter( columns( :name ), Where( :name == :name[row] ) ) );
gb;
);
If( local:_mode == "Click",
New Window( "Wafer Graphlet", getGraphlet( local:_firstRow ) );
Empty();
,
plt = Platform( local:_dataTable, gb = getGraphlet( local:_firstRow ) );
Picture Box( (gb << report)[Picture Box( 1 )] << Get Picture( 0.5 ) );
);
),
Skip Filters( 1 )
);Betreff: Hover-Labels: Einen genaueren Filter senden?@nascif_jmp ?
Hover Labels: Einen genaueren Filter senden?Ich möchte nach einem Rezept ein Hover-Graphlet aus einer anderen Datentabelle generieren bereitgestellt von @nascif_jmp .
Das Problem, mit dem ich konfrontiert bin, kann mit einer einzigen Datentabelle reproduziert werden.
Das folgende Beispiel sieht äußerst langweilig aus: „Warum möchte er einen einzelnen Punkt zeichnen?!?“
... macht aber Sinn, wenn zwei unterschiedliche Datentabellen verwendet werden [Hauptdatentabelle mit Medianwerten, Hoverplot mit Einzelwerten] : )
Wenn ich den Mauszeiger über einen Datenpunkt bewege, möchte ich, dass das Hover-Graplet auf die Daten beschränkt wird, die genau dem einzelnen Datenpunkt entsprechen.
Mein Problem: Der Datenpunkt wird durch die für die x- und y-Achse verwendeten Spalten nicht vollständig beschrieben. Im Beispiel.
[Ich verwende Geschlecht und Alter auf den Achsen, was zu mehreren Datenpunkten für jedes Geschlecht und Alter führt.]
Wenn Sie mit der Maus über einen der Datenpunkte fahren, wird das Hover-Graphlet lediglich nach Geschlecht und Alter eingeschränkt, nicht jedoch auf den einzelnen Datenpunkt (den ich über den Namen usw. erhalten könnte).
Wie erhält man also eine genauere Spezifikation des Datenpunkts jenseits der x/y-Achse – ohne Auswirkungen auf den Hauptgraphen?
Ich habe versucht, Farbe oder Größe zu verwenden, aber diese Einstellungen werden vom Hover Label Framework einfach ignoriert.
Gibt es eine Möglichkeit, das Hover Label Framework anzuweisen, einen zusätzlichen Spaltenfilter an das Hover Label weiterzuleiten – ohne das Hauptdiagramm zu ändern?
2 Punkte statt einem einziger Punkt [entsprechend den Einträgen im Hover-Label Grillplatte: Marion , F 16]:

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );<BR />dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :name ) ),
Elements( Points( X, Y, Legend( 19 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Graph Builder(
Variables( Y( :height ) ),
Elements( Points( Y, Legend( 6 ) ) )
)
)
)}
)
)
)
MassenanpassungBetreff: Hover-Labels: Einen genaueren Filter senden?Hübsch.Das ist sogar noch besser als das, was ich dir geschickt habe.Ich habe auch etwas gelernt.Übrigens sollten Sie den Namespace-Namen vor dem Doppelpunkt (:) hinzufügen oder den Doppelpunkt vor _name entfernen.Es handelt sich um eine Variable im lokalen Namespace, nicht um eine Spalte.
local:_name
// or simply
_name
Betreff: Hover-Labels: Einen genaueren Filter senden?Viel einfacher als ich befürchtet habe ...
Ich habe gerade einen supercoolen Trick von gelernt @Jasean :
Beschränken Sie das Hover-Diagramm über „ Wo"
Dann kann man damit beginnen @jthi Ergebnisse:
https://community.jmp.com/t5/Discussions/Hover-Labels-send-a-more-precise-filter/mp/612705/highlight/true#M81282.
Alles was Sie tun müssen, ist hinzuzufügen (bearbeiten *)
Where( :name == local:_name )
oder
Where( :name == _name )
*) aber nicht Wo( :name == :_name ) !
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Graph Builder(
Variables( X( :sex ), Y( :age ), Color( :name ) ),
Elements( Points( X, Y, Legend( 19 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Graph Builder(
Variables( Y( :height ) ),
Elements( Points( Y, Legend( 6 ) ) ),
Where( :name == local:_name )
)
)
)}
)
)
);