Inverti i colori in Contour Plot PlatformHo uno script che itera su più colonne e genera grafici di contorno.
Se i valori della colonna sono negativi, voglio invertire i colori del contorno, quindi imposto una variabile come questa:
if(col mean( col1 ) < 0, revcols = 1, revcols = 0);
Contour Plot(
...
Reverse Colors( revcols ),
...
Tuttavia, il problema che ho è che la trama del contorno ora è sempre invertita: sembra ignorare il valore di revcols.
Se ho hardcode
Reverse Colors( 0 )
quindi non inverte i colori, ma se revcols = 0 allora è invertito.
Devo fare qualcosa di intelligente per fargli trattare una variabile con valore 0 come zero in questo caso?
Grazie!
Re: Colori invertiti nella piattaforma Contour PlotEcco una soluzione che funziona sul mio sistema
Clear Globals();
rev = 1;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
__reverse__,
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = " || Char( rev) || " using substitute" )}
)
)
)
),
Expr( __reverse__ ), If(rev==1,parse("Reverse Colors( 1 )"),parse("")))
);Re: Colori invertiti nella piattaforma Contour PlotGrazie per il suggerimento, ma ancora senza fortuna. Ho provato questo:
// Code as run
Clear Globals();
rev = 0;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
Reverse Colors( __reverse__ ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = " || Char( __reverse__ ) || " using substitute" )}
)
)
)
),
Expr( __reverse__ ), rev
)
);Tuttavia, il grafico è uscito ancora con i colori invertiti. Se salvo lo script dal grafico, ottengo questo:
// code from Save Script
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 1 ),
Label Contours( 0 ),
Reverse Colors( 1 ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) ),
SendToReport(
Dispatch(
{},
"Contour Plot for age",
OutlineBox,
{Set Title( "Contour Plot for age, with rev = 0 using substitute" )}
)
)
);Come puoi vedere, il valore di __reverse__ è stato correttamente sostituito nel testo del titolo, ma per qualche motivo ottengo ancora
Reverse Colors( 1 )
È un bug e c'è una soluzione alternativa?
Grazie per l'aiuto!
Re: Colori invertiti nella piattaforma Contour PlotProvare a convertire il codice in una struttura sostitutiva, che presenterà a JMP il valore di rev come se fosse hardcoded.
rev = 1;
Eval(
Substitute(
Expr(
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Reverse Colors( __reverse__ ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) )
)
),
Expr( __reverse__ ), rev
)
);Re: Colori invertiti nella piattaforma Contour PlotGrazie per la tua risposta! Sto usando JMP 14.2.0 su MacOS 10.14.6.
Ho provato il tuo script ma continuo a riscontrare lo stesso problema. Ho aggiunto questo allo script quindi ero sicuro di ottenere l'output corretto:
SendToReport(
Dispatch( {}, "Contour Plot for age", OutlineBox, {Set Title( "Contour Plot for age, with rev = " || Char( rev ) )} )
)E i grafici hanno questo aspetto (ho anche riempito i contorni per renderlo più evidente):


Come prima, se inserisco l'hardcode in
Reverse Colors( 0 )
Quindi ottengo questo (che è corretto):

Spero che questo ti aiuti. Grazie!
Re: Colori invertiti nella piattaforma Contour PlotHo eseguito lo script di seguito in JMP 12 e JMP 15 ed entrambi hanno funzionato senza errori.Se puoi fornire maggiori dettagli, potrei essere in grado di scendere al problema.
rev=1;
Contour Plot(
X( :height, :weight ),
Y( :age ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Reverse Colors( rev ),
Transform( "Range Normalized" ),
Specify Contours( Min( 12.5 ), Max( 16.5 ), N( 9 ) )
)
Ho utilizzato la tabella dei dati di esempio di Big Class per i miei test.