Cambiar la orientación de la etiqueta del eje XHola,
En el gráfico de variabilidad, estoy intentando cambiar la orientación del texto de una de las variables X. Aquí está la parte del código.
X_List = {"SPLIT", "LOTID", "Tool", "Boat", "Wfrid"};
varChartObj = Variability Chart(
Y( collist[i] ),
X( Eval(X_List) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 0 ),
Show Box Plots( 1 ),
);
report(varChartObj)[Frame Box(1)]<< Row Legend( Eval(X_Legend), Color( 1 ), Marker( 0 ) );
report(varChartObj)[axisbox(1)]<< Add Ref Line( LSL, "Solid", "Red", "LSL", 1 );
report(varChartObj)[axisbox(1)]<< Add Ref Line( USL, "Solid", "Red", "USL", 1 );
report(varChartObj)[axisbox(1)]<< Add Ref Line( Target, "Dashed", "Red", "Target", 1 );
report(varChartObj)[axisbox(1)]<< min(LSL-0.1*(USL-LSL));
report(varChartObj)[axisbox(1)]<< max(USL+0.1*(USL-LSL));
report(varChartObj)[axisbox(1)]<< Inc(0.1*abs(USL-LSL));
Agradecería si alguien pudiera mostrarme cómo puedo lograrlo. Diga si quiero cambiar la variable X "Herramienta" a orientación vertical.
Gracias.
Re: Cambiar la orientación de la etiqueta del eje XEs bastante difícil determinar dónde están los problemas sin tener el gráfico de variabilidad JSL real.Sería necesario examinar la estructura del árbol del informe para descubrir por qué una referencia a NomAxisBox(2) puede no ser una referencia adecuada.A continuación se muestra un script simple que tiene 3 columnas X especificadas, con los 3 valores de sus ejes girados.Luego, el código regresa y cambia las etiquetas de marca del tercer nivel a sin girar.Intente examinar la estructura del árbol para que pueda ver cómo funciona.
names default to here(1);
New Table( "Example",
Add Rows( 15 ),
New Column("lot_id",
Character,
"Nominal",
Set Values(
{"lot1", "lot1", "lot1", "lot1", "lot1", "lot2", "lot2", "lot2", "lot2",
"lot2", "lot3", "lot3", "lot3", "lot3", "lot3"}
)
),
New Column("wafer",
Numeric( 1 ),
"Nominal",
Set Values( [3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] )
),
New Column("SITE",
Numeric( 1 ),
"Nominal",
Set Values( [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] )
),
New Column("NPN1",
Numeric,
"Continuous",
Format( "Best", 10 ),
Set Values(
[114.946183872216, 113.382890501824, 114.666518192776, 107.884015560041,
113.065582322339, 114.857323947632, 114.559464479242, 114.221688530977,
112.349531387849, 113.253501139582, 113.07512667471, 114.613256881221,
112.309137695657, 115.116308198793, 116.436528584316]
)
)
);
vc=Variability Chart(
Y( :NPN1 ),
X( :lot_id, :wafer, :SITE ),
Max Iter( 100 ),
Conv Limit( 0.00000001 ),
Number Integration Abscissas( 128 ),
Number Function Evals( 65536 ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Chart for NPN1"},
"",
NomAxisBox,
{Rotated Tick Labels( 1 )}
),
Dispatch(
{"Variability Chart for NPN1"},
"",
NomAxisBox( 2 ),
{Rotated Tick Labels( 1 )}
),
Dispatch(
{"Variability Chart for NPN1"},
"",
NomAxisBox( 3 ),
{Rotated Tick Labels( 1 ), Set Width( 980 ), Set Height( 21 )}
)
)
);
report(vc)[Nom Axis Box( 3 )] << Rotated Tick Labels( 0 );
Re: Cambiar la orientación de la etiqueta del eje XHola @txnelson
Gracias por la rápida respuesta. Intento utilizar el cuadro de eje nom que @ian_jmp Mostrado en la respuesta anterior.
sin embargo, parece que no funciona usando el cuadro de eje nominal (2) para rotarlo...
Perdón por la pregunta, todavía soy un novato trabajando con JMP.
GenTabRpt = Function( {dt_chart, _CATE, _PARM},
rc = dt_chart << report;
_PARM = Munger( _PARM, (Munger( _PARM, 1, "/" )), "/", "_" );
If( Contains Item( _PARM, "IBL0", "_" ),
rc[axis box( 1 )] << Scale( "Log" ) << Show Minor Labels( 0 ) << Min( 1e-1 ),
);
If( Contains Item( _PARM, "Ir0", "_" ),
rc[axis box( 1 )] << Scale( "Log" ) << Show Minor Labels( 0 ) << Min( 1e-12 ) << Max( 1e-5 ),
);
If( Contains Item( _PARM, "T2P", "_" ),
rc[axis box( 1 )] << Scale( "Log" ) << Show Minor Labels( 0 ) << Min( 1e-9 ) << Max( 1e-3 ),
);
If(
Contains Item( _PARM, "Iread", "_" ) :|</img> Contains Item( _PARM, "Ir1", "_" ) :|</img> Contains Item( _PARM, "Ir0", "_" ) :|
Contains Item( _PARM, "T2P", "_" ),
rc[axis box( 1 )] << Format( Scientific ),
);
If( dt_chart == "Variability Chart[]",
rc[Text Edit Box( 1 )] << Set Font Size( 1 ) << Hide( 1 ),
);
rc[Nom Axis Box(2)] << Rotated Tick Labels( 0 );
rc[FrameBox( 1 )] << Marker Size( 3 );// << Frame Size (850,240);
rc[axis box( 2 )] << Show Major Grid( 1 );
/* << Label Row( 5, Label Orientation( "Vertical" ) )
<< Label Row( 6, Label Orientation( "Vertical" ) )
<< Label Row( 7, Label Orientation( "Vertical" ) )
<< Label Row( 8, Label Orientation( "Vertical" ) )
<< Label Row( 9, Label Orientation( "Vertical" ) )
<< Label Row( 10, Label Orientation( "Vertical" ) );
*/ rc[Outline Box( 2 )] << set title( Char( _PARM ) );
rc[Outline Box( 2 )] << save picture( RPTFolder || Char( _PARM ) || ".emf" );
If( _CATE == "MISSING",
_CATE = "WAT_Summary_Plot"
);
If( _CATE != _PreCATE,
tb << Append( _CATE, vlb = V List Box() );
vlb << append( rc );
dt_chart << close window;
,
vlb << append( rc );
dt_chart << close window;
);
Insert Into( TestList, Char( _PARM ) );
Insert Into( CateList, Char( _CATE ) );
_PreCATE = _CATE;
);
Re: Cambiar la orientación de la etiqueta del eje XSe deberá realizar una llamada separada a cada NomAxisBox() específico para cada columna especificada en el área "Agrupación X" del cuadro de diálogo Variabilidad.
Re: Cambiar la orientación de la etiqueta del eje XHola @txnelson
Si es necesario rotar muchas filas, ¿es la única forma de abordar todas las filas mediante números?
¿O tiene alguna forma de hacerlo de una vez en lugar de usar un bucle para generarlo?
¡Gracias de antemano!
Atentamente
Re: Cambiar la orientación de la etiqueta del eje XImpresionante. Muchas gracias.
Re: Cambiar la orientación de la etiqueta del eje XCreo que necesitas cambiar ScaleBox a AxisBox
Re: Cambiar la orientación de la etiqueta del eje XSí, lo hice. Después de mirar el script generado, probé:
report(varChartObj)[ScaleBox(2)]<< Fila de etiqueta( 3, Orientación de etiqueta( "Vertical" ));
Pero no funcionó.
Por cierto, estoy usando un bucle para generar muchos gráficos a la vez.
Re: Cambiar la orientación de la etiqueta del eje XCasi siempre es bueno "hacerlo a mano" y luego inspeccionar el código que JMP genera para usted:
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Variability Chart(
Y( :height ),
X( :age, :sex ),
Std Dev Chart( 0 ),
SendToReport(
Dispatch(
{"Variability Chart for height"},
"",
NomAxisBox,
{Rotated Tick Labels( 1 )}
)
)
);