FrameBox no retiene las líneas de referencia cuando se inserta en otro cuadro de visualizaciónSé que las líneas de referencia son propiedades de Axis Boxes, pero ¿cuál es una solución alternativa? El caso de uso es que los cuadros de alineación combinen elementos de varias parcelas en una. No pude encontrar mi respuesta en los foros de discusión aquí.
dt = Data Table("Big Class");
gbBar = Graph Builder(
Size( 521, 452 ),
Show Control Panel( 0 ),
Variables( X( :age ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport(
Dispatch(
{},
"age",
ScaleBox,
{Add Ref Line( 1.5, "Solid", "Medium Dark Red", "", 1 )}
)
)
);
nw = New Window("for testing",
OutlineBox("stuff",
db1 = H List Box();
)
);
db1 << Append(report(gbBar)[FrameBox(1)]);jmpversion()
/*:
"14.3.0"
GráficosScriptingRe: FrameBox no retiene las líneas de referencia cuando se inserta en otro cuadro de visualizaciónAgregue PictureBox () en lugar de FrameBox ()
db1 << Append(report(gbBar)[PictureBox(1)]);

Re: FrameBox no retiene las líneas de referencia cuando se inserta en otro cuadro de visualizaciónGracias por la rápida respuesta. Esto no funcionará ya que el cuadro de imagen contiene ejes y leyenda. Estoy usando un cuadro de alineación para poder alinear otros elementos con el eje x. Ejemplo simplificado:
dt = Data Table( "Big Class" );
gbBar = Graph Builder(
Size( 521, 452 ),
Show Control Panel( 0 ),
Variables( X( :age ) ),
Elements( Bar( X, Legend( 3 ) ) ),
SendToReport( Dispatch( {}, "age", ScaleBox, {Add Ref Line( 1.5, "Solid", "Medium Dark Red", "", 1 )} ) )
);
nw = New Window( "for testing",
Outline Box( "complicated plot",
Spacer Box( Size( 2, 10 ) ),
lu1 = Lineup Box( N Col( 3 ), Spacing( 0 ) )
)
);
lu1 << Append( Report( gbBar )[AxisBox( 2 )] );
lu1 << Append( Report( gbBar )[FrameBox( 1 )] );
lu1 << Append( Report( gbBar )[LegendBox( 1 )] );
//end of row
lu1 << Append( Spacer Box() );
lu1 << Append( Report( gbBar )[AxisBox( 1 )] );
lu1 << Append( Spacer Box() );
//end of row
lu1 << Append( Spacer Box() );
lu1 << Append( insrt_icons = H List Box() );
lu1 << Append( Spacer Box() );
numXAxisWidth = (gbBar << report)[AxisBox( 1 )] << get width;
numAges = N Items( Associative Array( Column( dt, "age" ) ) << get keys );
numOneIncr = (numXAxisWidth) / (numAges);
For( _i = 1, _i <= numAges, _i++,
insrt_icons << Append( Spacer Box( Size( numOneIncr, numOneIncr ), Color( _i ) ) )
);
Me encantaría aprender un enfoque alternativo. Inicialmente, intenté usar cuadros espaciadores que coincidan con el ancho de los elementos (usando << obtener ancho), pero eso falló porque había un margen que no podía explicar.
