Come posso annotare lo sfondo con colori diversi su diversi assi Y?Il seguente JSL può annotare la regione da 100 a 120 sull'asse X con un colore diverso, ma non può estendersi su diversi assi Y. Come posso modificarlo per annotare diverse variabili sugli assi Y con diversi colori di sfondo per diverse variabili?

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height),Y(:age)),
Elements(Points(X, Y, Legend(3))),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Add Ref Line(100, "Solid", "blue", "", 5),
Add Ref Line(120, "Solid", "blue", "", 5)}
)
)
);
rep = gb << report;
framebox = rep[frame box(1)];
framebox << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(100, Y Origin() + Y Range(), 120, Y Origin() , 1)
);Esplorazione e visualizzazione dei datiR: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Hai più FrameBox quando hai più assi (o gruppi o wrap o pagine), quindi puoi ad esempio aggiungere uno script grafico separato a ciascuno di essi. Versione semplificata di seguito
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(100, Y Origin() + Y Range(), 120, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(100, Y Origin() + Y Range(), 120, Y Origin(), 1);
);

R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Domanda aggiuntiva: come posso disegnare un riquadro colorato se l'asse X è di tipo dati "testo"?
Ad esempio, voglio contrassegnare l'intervallo da TIM a JOE con un colore specifico.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect("TIM", Y Origin() + Y Range(), "JOE", Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect("TIM", Y Origin() + Y Range(), "JOE", Y Origin(), 1);
);R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Devi calcolare i valori corretti dell'asse x e poi utilizzarli
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3)))
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(17, Y Origin() + Y Range(), 37, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(17, Y Origin() + Y Range(), 37, Y Origin(), 1);
);
Questo può essere facile o a volte molto difficile, ma puoi farti un'idea controllando le impostazioni e le etichette dell'asse X

R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Come posso usare JSL per leggere la mappatura di LABEL e VALUE sull'asse X corrente? Non riesco a trovare un metodo per leggere LABEL e il corrispondente VALUE sull'asse X corrente.
Vorrei utilizzare MATCH sull'etichetta di testo per ottenere il VALORE, quindi evidenziare l'intervallo specifico di valori con una casella colorata.
R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Se non ricordo male... il metodo (attualmente) più semplice è leggerlo dalla tabella dati utilizzando la tabella Riepilogo o Riepilogo.
R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Vorrei contrassegnare i colori sull'asse X in base alla regione selezionata dall'utente. Tuttavia, l'asse X sul grafico cambia a causa dell'uso da parte dell'utente di un filtro dati locale. Poiché la forma del testo dell'asse X è variabile, non posso specificare un valore fisso e una corrispondenza di etichetta. Spero di accedere direttamente alle etichette e ai valori sull'asse X del grafico o di essere in grado di determinare il valore e l'etichetta corrispondenti sull'asse X in base alla selezione dell'utente sul filtro dati locale. Come mostrato nello script seguente, vorrei consentire all'utente di selezionare il filtro dati locale e inoltre scegliere l'asse X da contrassegnare con i colori. Se non è possibile ottenere gli elementi attualmente visualizzati sull'asse X del grafico o i risultati selezionati sul filtro dati locale, non sarà possibile ottenere i valori e le etichette corrispondenti senza problemi. Esiste un modo per ottenere questo risultato?"Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:name), Y(:height), Y(:age)),
Elements(Points(X, Y, Legend(3))),
Local Data Filter(
Add Filter(
columns( :name ),
Where(
:name == {"ALFRED", "ALICE", "AMY", "BARBARA", "CAROL", "CHRIS",
"CLAY"}
),
Display( :name, N Items( 15 ), Find( Set Text( "" ) ) )
)
),
);
rep = gb << report;
fbs = rep << XPath("//FrameBox");
fbs[1] << Add Graphics Script(
Transparency(0.5);
Fill Color("Gray");
Rect(2, Y Origin() + Y Range(), 4, Y Origin(), 1);
);
fbs[2] << Add Graphics Script(
Transparency(0.5);
Fill Color("Green");
Rect(2, Y Origin() + Y Range(), 4, Y Origin(), 1);
); R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Se hai un filtro locale da gestire, molto probabilmente diventerà più complicato. Quale intervallo vuoi colorare? Cosa succede quando l'utente filtra quello o una sua estremità?
R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?Sì, diventa più complesso con la presenza del filtro dati locale. Pertanto, vorrei sapere se ci sono tecniche per ottenere gli elementi correnti sull'asse X del grafico o per leggere le opzioni selezionate del filtro dati locale per calcolare la tabella di mappatura per il valore e l'etichetta correnti.
R: Come posso annotare lo sfondo con colori diversi su diversi assi Y?È possibile ottenere diversi tipi di valori dal filtro dati locale e quindi analizzarli/utilizzarli
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Car Poll.jmp");
dist = dt << Distribution(
Nominal Distribution(Column(:country))
);
ldf = dist << Local Data Filter(
Add Filter(columns(:sex), Where(:sex == "Female")),
Mode(Show(1), Include(1))
);
Show(ldf << get script, ldf << Get where clause, ldf << Get Filtered Rows);

Ricordati di controllare il caso speciale in cui nessuna riga viene filtrata