Cara Comunità,
Sto lottando un po' con il disegno di linee di riferimento su un asse ordinale. Ci sono ottimi esempi su come disegnare linee di riferimento su assi continui, ma sembra essere diverso per gli assi ordinali. Quindi nell'esempio seguente non posso dire a JMP di tracciare una linea di riferimento all'età di 13 anni, invece devo trovare la posizione sull'asse in GraphBuilder (cioè due: 13 è il secondo valore di età quando si ordina dal basso verso l'alto) e impostare la linea di riferimento per quella posizione. Finora ok.
Ma voglio tracciare linee di riferimento su molti oggetti di Graph Builder, che a loro volta hanno filtri di dati locali e quindi hanno lo stesso anno, ad esempio 13 in posizioni diverse. Puoi provare, se escludi età=12 dal filtro dati locale, la linea di riferimento è nella posizione sbagliata.
Quindi una strategia migliore sarebbe per me essere in grado di ottenere i valori dall'asse x dell'oggetto Generatore di grafici, in modo da poter aggiungere correttamente una linea di riferimento all'età = 13 per ogni Generatore di grafici.
Nel mio esempio del mondo reale devo impostare la linea di riferimento per ogni GraphBuilder in una dashboard con filtri diversi nella settimana del calendario corrente, che viene fornita in un formato "YYYYWW".
JMP16/Pro su Win10.
Qualche idea? Grazie in anticipo
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 );
I valori effettivi dell'asse per il tuo grafico vanno da 0 a 3. Apri le impostazioni dell'asse e vedrai i valori

Pertanto, per aggiungere una linea di riferimento sul grafico, è necessario convertire in questa scala.Di seguito è riportato un Aggiungi linea di riferimento che funziona
Report( gb_obj )[AxisBox( 1 )] << add ref line( 1, "Dotted", Red, "Yes", 3 );
