Liebe Community,
Ich kämpfe ein bisschen mit dem Zeichnen von Referenzlinien auf einer Ordinalachse. Es gibt großartige Beispiele zum Zeichnen von Referenzlinien auf durchgehenden Achsen, aber bei Ordinalachsen scheint es anders zu sein. Im Beispiel unten kann ich JMP also nicht sagen, dass es im Alter von 13 Jahren eine Referenzlinie zeichnen soll, stattdessen muss ich die Position an der Achse im GraphBuilder finden (das sind zwei: 13 ist der zweite Alterswert, wenn von niedrig nach hoch geordnet wird). und legen Sie die Referenzlinie für diese Position fest. Soweit okay.
Aber ich möchte Referenzlinien auf viele Graph Builder-Objekte zeichnen, die selbst lokale Datenfilter haben und daher das gleiche Jahr haben, zB 13 an verschiedenen Positionen. Sie können versuchen, wenn Sie Alter = 12 per lokalem Datenfilter ausschließen, ist die Referenzlinie an der falschen Position.
Eine bessere Strategie wäre es also, wenn ich die Werte von der x-Achse des Graph Builder-Objekts abrufen könnte, damit ich für jeden Graph Builder korrekt eine Referenzlinie bei Alter = 13 hinzufügen könnte.
In meinem realen Beispiel muss ich die Referenzlinie für jeden GraphBuilder in einem Dashboard mit verschiedenen Filtern auf die aktuelle Kalenderwoche setzen, die im Format "YYYYWW" angegeben wird.
JMP16 / Pro auf Win10.
Irgendwelche Ideen? Danke im Voraus
Names Default To Here( 1 );
// test reference lines for ordinal/nominal axis
// Open table and make graph
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
gb_obj = dt << graph builder( Show Control Panel( 0 ), variables( x( :age ), y( :weight ) ), Elements( bar( X, Y ) ) );
// get location of certain ordinal or nominal value from data table
refpos="13";
Summarize( dt, age_lst = by( :age ) );
label = Loc( age_lst, refpos );
// apply reference lines at different positions
Report( gb_obj )[AxisBox( 1 )] << add ref line( Eval( label - 1 ), "Dotted", "Red", refpos, 3 );