CIAO,
Sto cercando un metodo per indirizzare e modificare in modo coerente gli elementi della legenda nel generatore di grafici.
Dopo aver aggiunto le variabili per generare il grafico di base, utilizzo le istruzioni di spedizione per modificare lo stile/colore/dimensione della linea.
Il problema che sto riscontrando è che il testo della legenda (o gli ID oggetto) cambia a seconda delle righe che ho incluso/escluso nella tabella dati, e quindi l'istruzione dispatch funzionerà per alcune selezioni ma non per altre.
Esempio:
LHS, ho più righe per x-category (YearMonth). Il testo della legenda ha il formato - "Mean(ColumnName)" | RHS, con righe escluse ho solo a separare riga per categoria x. Il testo della legenda ha il formato - "ColumnName" |
 |  |
Per modificare gli elementi della legenda sto utilizzando l'istruzione legend Model (...) come di seguito, dove Item ID( "Mean(Yield_A)", 1 ) identifica l'elemento da modificare.
gb << send to report (
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 15,
Level Name( 0, "Yield_A", Item ID( "Mean(Yield_A)", 1 ) ),
Properties( 0, {Line Color( "red" ), Line Width( 6 )}, Item ID( "Mean(Yield_A)", 1 ) ),
)
}
));Uso un filtro della tabella dati per includere/escludere le righe per restringere il grafico a un singolo segmento o prodotto.
Quando viene filtrato in base a un singolo prodotto, è presente una singola riga per YearMonth e il testo della legenda cambia come evidenziato nel grafico RHS sopra.
L'ID oggetto originale( "Mean(Yield_A)", 1 ) utilizzato nell'istruzione dispatch non troverà un elemento corrispondente (il nome della colonna non è più racchiuso in mean())
Una soluzione alternativa consiste nel duplicare l'istruzione/le legende del modello (), per indirizzare il testo della legenda con il formato "ColumnName", ad esempio Item ID( "Yield_A", 1 )
Questo funziona ma è ingombrante.

- Esiste un metodo alternativo/migliore per scegliere come target gli elementi della legenda che funzioneranno per entrambi i casi sopra indicati?
- Esiste una documentazione autonoma per l'istruzione legend model() o i suoi componenti (non sono riuscito a trovarla)?
Un ultimo pensiero... Presumo che quando c'è solo una singola riga/valore per ogni categoria x, l'eliminazione del wrapper Mean() nel testo della legenda sia intenzionale, ma forse avrebbe senso avere ancora l'elemento della legenda visualizzato come "Mean( columnName)", anche quando esiste un solo valore? Dopotutto, la statistica di riepilogo per l'elemento riga è ancora impostata su "Media".
Grazie,
Raggio
Ho accettato quanto sopra come soluzione, ma funziona solo per JMP16. Quindi ancora aperto ad altri suggerimenti/opzioni che potrebbero funzionare con JMP15. Grazie
Sembra Server Leggenda è un'aggiunta JMP16.
Anche se ho installato JMP16, la maggior parte della mia organizzazione utilizza ancora JMP14 o JMP15.
Sto costruendo una GUI JMP da condividere con il team, quindi per ora dovrò restare con JMP15.
@jthi - grazie per gli input - lo userò sicuramente in futuro (ma non adesso).
Controlla l'indice di scripting per Legend Server, ti consente di modificare almeno le etichette della legenda (la documentazione è piuttosto negativa per Legend Server)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Variables(X(:height), Y(:weight), Overlay(:sex), Color(:age)),
Elements(Points(X, Y, Legend(1)), Smoother(X, Y, Legend(2)))
);
server = gb << Get Legend Server;
items = server << Get Legend Items;
For Each({item, index}, items[1], item << Set Label("Item " || Char(index)));