Colores inversos en la plataforma de gráficos de contornoTengo un script que itera sobre varias columnas y genera gráficos de contorno.
Si los valores de la columna son negativos, quiero invertir los colores del contorno, así que configuro una variable como esta:
if(col mean( col1 ) < 0, revcols = 1, revcols = 0);
Contour Plot(
...
Reverse Colors( revcols ),
...
Sin embargo, el problema que tengo es que el gráfico de contorno ahora siempre está invertido: parece ignorar el valor de revcols.
Si codifico
Reverse Colors( 0 )
entonces no invierte los colores, pero si revcols = 0 entonces se invierte.
¿Debo hacer algo inteligente para que trate una variable con valor 0 como cero en este caso?
¡Gracias!
Re: Invertir colores en Contour Plot PlatformAquí hay una solución que funciona en mi 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: Invertir colores en Contour Plot PlatformGracias por la sugerencia, pero todavía no hubo suerte. Intenté esto:
// 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
)
);Sin embargo, el gráfico todavía salió con colores invertidos. Si guardo el script del gráfico, obtengo esto:
// 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" )}
)
)
);Como puede ver, el valor de __reverse__ se ha sustituido correctamente en el texto del título, pero por alguna razón todavía obtengo
Reverse Colors( 1 )
¿Es esto un error y hay una solución?
¡Gracias por tu ayuda!
Re: Invertir colores en Contour Plot PlatformIntente convertir su código en una estructura Sustituta, que presentará a JMP el valor de rev como si estuviera codificado de forma rígida.
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: Invertir colores en Contour Plot Platform¡Gracias por su respuesta! Estoy usando JMP 14.2.0 en MacOS 10.14.6.
Probé tu script pero sigo viendo el mismo problema. Agregué esto al script para estar seguro de que estaba obteniendo el resultado correcto:
SendToReport(
Dispatch( {}, "Contour Plot for age", OutlineBox, {Set Title( "Contour Plot for age, with rev = " || Char( rev ) )} )
)Y los gráficos se ven así (también rellené los contornos para hacerlo más obvio):


Como antes, si codifico en
Reverse Colors( 0 )
Entonces obtengo esto (que es correcto):

Espero que esto ayude. ¡Gracias!
Re: Invertir colores en Contour Plot PlatformEjecuté el siguiente script en JMP 12 y JMP 15 y ambos funcionaron sin errores.Si puede proporcionar más detalles, podría ser capaz de abordar el 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 ) )
)
Usé la tabla de datos de muestra de Big Class para mis pruebas.