Come rilevare i cambiamenti nell'ordine dell'asse X?Come posso rilevare le modifiche nell'ordine dell'asse X? Sto utilizzando il seguente codice JSL per contrassegnare il colore di sfondo, ma gli utenti possono modificare l'ordine dell'asse X come mostrato nell'immagine sottostante. Se non riesco a rilevare che l'utente ha apportato questa modifica al grafico, l'area precedentemente contrassegnata con il colore di sfondo non seguirà il nuovo ordine e non verrà aggiornata.
Ad esempio, se inizialmente ho contrassegnato l'età 13 e l'utente modifica l'ordine in "Crescente, Peso", ho bisogno di sapere che l'utente ha attivato la modifica dell'ordine in modo che la marcatura rossa possa essere correttamente aggiornata alla posizione dell'età 13, anziché rimanere fissa.
Quali metodi posso utilizzare per rilevare quando l'utente modifica l'ordine dell'asse X oppure come posso fare in modo che il colore di sfondo cambi automaticamente in base all'ordine?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
GraphX =dt<< Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ), Overlay( :sex ) ),
Elements( Box Plot( X, Y, Legend( 4 ) ) )
);
rep1 = GraphX << report;
frameboxDCRFH = rep1 << XPath( "//FrameBox" );
frameboxDCRFH << Add Graphics Script(
Transparency( 0.1 );
Fill Color( "Red" );
Rect( 0.5, Y Origin() + Y Range(), 1.5, Y Origin(), 1 )
;
);

Automazione e scriptingR: Come rilevare le modifiche nell'ordine dell'asse X?Non credo che abbiamo accesso a questi gestori, quindi dovresti tenerne conto nella tua sceneggiatura grafica o creare la colorazione usando una trama separata. Un modo per tenerne conto nella sceneggiatura grafica
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(534, 492),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1)), Overlay(:sex)),
Elements(
Box Plot(X, Y(1), Legend(4)),
Points(X, Y(2), Overlay(0), Legend(6), Summary Statistic("Median"))
)
);
fb = Report(gb)[FrameBox(1)];
fb << Add Graphics Script(
fb = Report(gb)[FrameBox(1)];
barseg = fb << Find Seg(MarkerSeg(1));
xval = (barseg << Get X Values)[1];
Transparency(0.1);
Fill Color("Red");
Rect(xval - 0.5, Y Origin() + Y Range(), xval + 0.5, Y Origin(), 1)
);
Formula per la colonna 6
If(:age == 13,
Col Median(:weight, :age),
.
)
Aggiunta di un grafico a barre per il colore


R: Come rilevare le modifiche nell'ordine dell'asse X?E puoi migliorare la trama spostando la colonna "extra" sul lato destro

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Column 6", Numeric, "Continuous",
Set Property(
"Axis",
{Show Major Ticks(0), Show Minor Ticks(0), Show Labels(0), Min(0.49),
Max(0.5), Inc(0.2), Minor Ticks(0), Label Row(
{Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)}
)}
),
Formula(
If(:age == 13,
1
,
.
)
);
);
gb = dt << Graph Builder(
Size(712, 621),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1), Side("Right")), Overlay(:sex)),
Elements(Bar(X, Y(2), Overlay(0), Legend(9), Summary Statistic("Median")), Box Plot(X, Y(1), Legend(4))),
SendToReport(
Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, {Fill Color(67), Transparency(0.2)}, Item ID("Median(Column 6)", 1)))}),
Dispatch({}, "Y r title", TextEditBox, {Set Text("")}),
Dispatch({}, "400", LegendBox, {Legend Position({9, [2], 4, [0, 1, -3, -3]})})
)
);
R: Come rilevare le modifiche nell'ordine dell'asse X?Spero di rimuovere l'asse sul lato destro. Tuttavia, so solo come modificare manualmente le "Proprietà di visualizzazione" come nella figura sottostante e impostare la visibilità su "Nascosto". Come posso ottenere questa impostazione usando JSL?

R: Come rilevare le modifiche nell'ordine dell'asse X?Vorrei anche rimuovere automaticamente il marcatore della mediana nelle impostazioni della legenda usando JSL. L'immagine qui sotto mostra come rimuoverlo manualmente. Come posso nasconderlo usando JSL?

R: Come rilevare le modifiche nell'ordine dell'asse X?Quali sono le impostazioni degli assi? Puoi nascondere/rimuovere la maggior parte degli assi usando queste impostazioni. La mediana non dovrebbe aggiungere un marcatore a meno che non si utilizzino punti con il grafico a barre. Se ti riferisci all'elemento della legenda e non al marcatore, il modo più semplice è nasconderlo manualmente e copiare lo script.
R: Come rilevare le modifiche nell'ordine dell'asse X?
Ho una domanda derivativa.
Se il grafico originale ha già una variabile etichettata "Colore" e non è possibile impostare il colore rosso sul grafico a barre, cosa devo fare per risolvere il problema e mantenere il colore rosso?
Il seguente JSL dovrebbe affrontare questi due punti:
1. Aggiungere color() alle variabili:
Variabili(X(:età), Y(:peso), Y(:Colonna 6, Posizione(1), Lato("Destra")), Sovrapposizione(:sesso),
Colore("sesso")
),
2. Cambia Fill color() in rosso: Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, { Fill Color("Rosso") , Transparency(0.2)}, Item ID("Median(Colonna 6)", 1)))}),
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Column 6", Numeric, "Continuous",
Set Property(
"Axis",
{Show Major Ticks(0), Show Minor Ticks(0), Show Labels(0), Min(0.49),
Max(0.5), Inc(0.2), Minor Ticks(0), Label Row(
{Show Major Labels(0), Show Major Ticks(0), Show Minor Ticks(0)}
)}
),
Formula(
If(:age == 13,
1
,
.
)
);
);
gb = dt << Graph Builder(
Size(712, 621),
Show Control Panel(0),
Variables(X(:age), Y(:weight), Y(:Column 6, Position(1), Side("Right")), Overlay(:sex),Color("sex")),
Elements(Bar(X, Y(2), Overlay(0), Legend(9), Summary Statistic("Median")), Box Plot(X, Y(1), Legend(4))),
SendToReport(
Dispatch({}, "400", ScaleBox, {Legend Model(9, Properties(0, {Fill Color("Red"), Transparency(0.2)}, Item ID("Median(Column 6)", 1)))}),
Dispatch({}, "Y r title", TextEditBox, {Set Text("")}),
Dispatch({}, "400", LegendBox, {Legend Position({9, [2], 4, [0, 1, -3, -3]})})
)
);
R: Come rilevare le modifiche nell'ordine dell'asse X?Disattivare il colore dalle variabili dei grafici a barre e modificare il colore?
R: Come rilevare le modifiche nell'ordine dell'asse X?Ho impostato il colore della barra in Personalizza grafico, ma non si è verificata alcuna modifica.
Oppure dovrei impostare il colore della barra in un altro pannello? Non sono riuscito a trovare nessun altro posto dove impostare il colore della barra.

R: Come rilevare le modifiche nell'ordine dell'asse X?Dopo aver eseguito lo script, disattivo il colore per la barra (a destra)

Quindi posso modificare la mediana (colonna 6)
