¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?¡Gracias expertos!
dt=Open("$SAMPLE_DATA/Big Class.jmp");
p1=dt<< Graph Builder(
Size( 534, 455 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Row", Formula( Row() ) ) ),
Y( :height ),
Y( :weight )
),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 5 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch(
{},
"Row",
ScaleBox,
{Add Ref Line( 10.5, "Dotted", "Dark Red", "", 1 ),
Add Ref Line( 20.5, "Dotted", "Dark Red", "", 1 ),
Add Ref Line( 30.5, "Dotted", "Dark Red", "", 1 )}
)
)
);

Automatización y scriptingVentanasRe: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?Yo lo usaría
<< Agregar script de gráficos()
y usa las primitivas gráficas JMP para dibujar las líneas que necesitas
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?¡Muchas gracias!¿Quiero saber cómo implementarlo con un script?Me gustaría recibir vuestra ayuda
¡Gracias Jim!
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?Quizás mejor: invierta el problema:
Coloque un rectángulo blanco enorme en los gráficos donde NO desea las líneas y mueva esta capa sobre las líneas.
Esto le brinda la flexibilidad de ajustar las líneas a través de la GUI.
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
// New column: Column 6
Data Table( "Big Class" ) << New Column( "Column 6",
Numeric,
"Continuous",
Format( "Best", 12 )
);
// Change column name: Column 6 → row
Data Table( "Big Class" ):Column 6 << Set Name( "row" );
// Change column formula: row
Data Table( "Big Class" ):row << Set Formula( Row() );
Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :row ), Y( :height ), Y( :weight ) ),
Elements(
Position( 1, 1 ),
Line( X, Y, Legend( 11 ) ),
Smoother( X, Y, Legend( 10 ) )
),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", FrameBox( 2 ),
{Add Graphics Script(
2,
Description( "" ),
Pen Color( "red" ):line style( "dashed" );
Line( {11, 0}, {11, 160} );
)}
),
Dispatch( {}, "400", LegendBox,
{Legend Position( {11, [2], 10, [0], 5, [1]} )}
)
)
);
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?¡Gracias Jim!
dt = Open("$SAMPLE_DATA/Big Class.jmp");ca="row";New Column(ca);Column(ca)<
<FORMULA></FORMULA>
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?
AI Solo uso grok3、
Usar otros ais para completar JSL es básicamente una pérdida de tiempo.
dt = Open("$SAMPLE_DATA/Big Class.jmp");ca="row";New Column(ca);Column(ca)<
<FORMULA></FORMULA>
<BR />
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?Sugeriría utilizar X/Y Origin() y X/Y Range() en casos como este.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << new column("R", Numeric, Continuous, Formula(Row()));
ar4 = [12.5, 22.5, 33.5];
gb = dt << Graph Builder(
Size(534, 456),
Show Control Panel(0),
Variables(X(:R), Y(:height), Y(:weight)),
Elements(Position(1, 1), Line(X, Y, Legend(11))),
Elements(Position(1, 2), Bar(X, Y, Legend(14)))
);
Eval(EvalExpr(
Report(gb)[FrameBox(2)] << Add Graphics Script(
For Each({v}, Expr(ar4),
Pen Color("red");
Line Style("dashed");
Line({v, Y Origin()}, {v, Y Origin() + Y Range()});
);
)
));
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?
Dura declaración.
Tengo la sensación de que cada dos días se produce un nuevo avance y es necesario revisar viejos hallazgos.
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?Después de ejecutar el código, aparece el gráfico, pero se muestra un mensaje de error. Registro:
Nombre sin resolver: Para cada en acceso o evaluación de 'Para cada', Para cada(
{v},
[12.5, 22.5, 33.5],
Color del bolígrafo("rojo");
Estilo de línea("discontinua");
Línea( {v, Y Origen()}, {v, Y Origen() + Y Rango()} );
) /*###*/
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?¿Qué versión de JMP usas? For each() se implementó por primera vez en JMP 16.
Aquí hay una versión del código que funcionará para JMP 15 y anteriores.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "R", Numeric, Continuous, Formula( Row() ) );
ar4 = [12.5, 22.5, 33.5];
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :R ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 11 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 14 ) ) )
);
Eval(
Eval Expr(
Report( gb )[FrameBox( 2 )] << Add Graphics Script(
For( i = 1, i <= N Items( ar4 ), i++,
v = ar4[i];
Pen Color( "red" );
Line Style( "dashed" );
Line( {v, Y Origin()}, {v, Y Origin() + Y Range()} );
)
)
)
);
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?V14.3, es demasiado antiguo...
Re: ¿La línea divisoria vertical del eje X en el dibujo solo puede mostrar una parte de él?JMP 14 se lanzó en marzo de 2018. Sí, es bastante antiguo. Sin embargo, el código que proporcioné funciona en JMP 14.