Permitir rangos en el generador de gráficosHola,
Al cambiar la configuración del eje X en un gráfico, ¿es posible usar Permitir rangos y seleccionar valores en función del conjunto de datos (en un script)? O solo se puede hacer manualmente?
Estoy tratando de producir un gráfico con rangos codificados por colores (que se eligen del conjunto de datos), como un gráfico de control pero en el eje x.
hermano julie
Re: Permitir rangos en el generador de gráficosA continuación se muestra el código que usé para agregar en el valor del rango
names default to here(1);
dt=open("$SAMPLE_DATA/semiconductor capability.jmp");
gb = Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :PNP1 ), Y( :NPN1 ) ),
Elements( Points( X, Y, Legend( 3 ) ) )
);
Eval(
Substitute(
Expr(
Report( gb )[AxisBox( 1 )] << Add Ref Line( {__LSL__, __USL__}, "Solid", "Black", "", 1, 0.25 )
),
Expr( __LSL__ ), (dt:PNP1 << get property( "spec limits" ))["LSL"],
Expr( __USL__ ), (dt:PNP1 << get property( "spec limits" ))["USL"]
)
);Re: Permitir rangos en el generador de gráficosHola @JulieSAppel ,
Debería poder reemplazar el número real, por ejemplo, 119.84 con algo como Eval(Col Min(:Column)) y el máximo con algo como Eval(Col Max(:Column2)).
Hice una prueba rápida en una de mis tablas de datos y funciona. Si la columna es "límite inferior", es posible que deba hacer algo como
Eval(Col Min(:Name("límite inferior"))). Es posible que deba ajustar las marcas en el código JSL para crear un gráfico más atractivo, pero creo que un enfoque como este podría funcionar.
Estoy seguro @txnelson debería poder confirmar si mi enfoque es válido.
¡Espero que esto ayude!,
SD
Re: Permitir rangos en el generador de gráficosEn realidad, mis rangos diferirán de un conjunto de datos a otro, por lo que estoy tratando de descubrir cómo agregar los rangos en el gráfico en función de los límites en el conjunto de datos y no en un conjunto de rangos. Básicamente, en el código donde dice:
<SPAN class="token function">report</SPAN><SPAN class="token punctuation">(</SPAN>gb<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">[</SPAN>AxisBox<SPAN class="token punctuation">(</SPAN><SPAN class="token number">1</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">]</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages">Add Ref Line</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN><SPAN class="token number">119.84</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">130</SPAN><SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Solid"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Black"</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token string">""</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">1</SPAN><SPAN class="token punctuation">,</SPAN> <SPAN class="token number">0.25</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>¿Puede tener referencias a puntos de datos específicos en lugar de números reales (por ejemplo: dt (: límite inferior,: límite superior) en lugar de<SPAN class="token number"> 119.84</SPAN><SPAN class="token punctuation"> ,</SPAN><SPAN class="token number"> 130</SPAN> )?
Re: Permitir rangos en el generador de gráficosLa forma más fácil de averiguar cuál es el JSL para agregar una opción como "Permitir rangos" es ejecutar el gráfico de forma interactiva, agregar la opción que desea (Permitir rangos) y luego guardar el script del gráfico.Aquí hay un gráfico con rangos permitidos

y aquí está el script generado a partir del gráfico.
Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"weight",
ScaleBox,
{Add Ref Line( {119.84, 130}, "Solid", "Black", "", 1, 0.25 )}
)
)
);
Y aquí hay una modificación a ese script en una forma que es más fácil de trabajar desde el punto de vista programático
gb = Graph Builder(
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ));
report(gb)[AxisBox(1)]<<ADD ref="" line=""></ADD>