Estoy tratando de escribir un script simple que recorre columnas y use iterativamente cada columna como los valores de Y en una gráfica. Creo que tengo el bucle for hacia abajo pero no puedo establecer el eje Y en una escala de registro. El código se ejecuta pero cada gráfico que se genera está en una escala lineal con un rango que es específico para cada columna. Me gustaría que cada gráfico esté en una escala de registro (ya sea con un mínimo / máximo establecido específicamente o un rango generado automáticamente según los datos).
cd = Current Data Table();
column_names = cd << Get Column Names;
For ( i = 256, i <= 258, i++,
Graph Builder(
Size( 625, 660 ),
Variables(
X( :Day ),
Y( Column( cd, column_names[i] ) ),
Overlay( :Dose ),
),
Elements( Line( X, Y, Legend( 6 ) , Error Bars ("Standard Deviation") ) ),
SendToReport(
Dispatch(
{},
"Data Abs. Counts T CD56br" ,
ScaleBox,
{Scale( "Log" ), Format( "Best", 12), Min( 0.002 ), Max( 16000 ),
Inc( 1 ), Minor Ticks( 1 ), Label Row( Show Minor Labels( 0 ) )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties( 0, {Line Width( 2 )} ),
Properties( 1, {Line Width( 2 )} ),
Properties( 2, {Line Width( 2 )} ),
Properties( 3, {Line Width( 2 )} ),
Properties( 4, {Line Width( 2 )} )
)}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Text( Column(cd, column_names[i]))}
)
)
))
he leído https://community.jmp.com/t5/Discussions/Scripting-Y-Axis-to-be-Log-scale/mp/54573#M30852 y todavía estoy atascado. Intenté incluir ScaleBox (1) o ScaleBox (2), pero ni siquiera pude obtener el primer o segundo gráfico en una escala de registro. También estoy probando la solución xPath, pero la ayuda adicional sería excelente.
¡¡Muchas gracias!!
Pregunta extra:
SendToReport(
Dispatch(
{},
"Data Abs. Counts T CD56br" ,¿Qué es el "Abs datos. Cuenta T CD56br "¿se refiere aquí? Es uno de mis nombres de columna (¡pero no TODOS los nombres de columna!) Que se copiaron / pegaron y guardaron. Parece estar funcionando como debería (aparte de la escala) y cambiarlo a otros valores (es decir, "datos") no parece romper nada. ¿Que es esto?
En realidad, resulta que mi problema realmente fue la pregunta BONIFICADA. Tuve que cambiar ese nombre a char (column_names [i]) para que las siguientes especificaciones se apliquen a * ese * gráfico.
Así que el código que funciona es:
cd = Current Data Table();
column_names = cd << Get Column Names;
For ( i = 255, i <= 256, i++,
gb = Graph Builder(
Size( 625, 660 ),
Variables(
X( :Day ),
Y( Column( cd, column_names[i] ) ),
Overlay( :Patient ),
Color( :Dose )
),
Elements( Line( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
Char(column_names[i]),
ScaleBox,
{Scale( "Log" ), Format( "Best", 12 ), Min( 0.002 ), Max( 16000 ),
Inc( 1 ), Minor Ticks( 1 ), Label Row( Show Minor Labels( 0 ) )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
6,
Properties( 0, {Line Width( 2 )} ),
Properties( 1, {Line Width( 2 )} ),
Properties( 2, {Line Width( 2 )} ),
Properties( 3, {Line Width( 2 )} ),
Properties( 4, {Line Width( 2 )} )
)}
),
Dispatch(
{},
"Y title",
TextEditBox,
{Set Text( Column(cd, column_names[i]) )}
)
)
);
rgb = gb << report;
rgb << journal;
);