¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos,
Me gustaría crear un gráfico de superposición con varias series de datos.Veo cómo puedo copiar el script y pegarlo en mi código, pero ¿qué pasa si no sé de antemano cuántas columnas tendré?Además, ¿qué puedo hacer para usar diferentes marcadores también?
Aquí hay una copia de mi guión.Este es uno de mis archivos más pequeños, por lo que, naturalmente, ¡no me gustaría tener que escribir todas esas líneas!Gracias de antemano.
Gráfico de superposición (
X( :Drenaje_Voltaje ),
Y(
:Y_17,
:Y_18,
:Y_19,
:Y_20,
:Y_21,
:Y_22,
:Y_23,
:Y_24,
:Y_25,
:Y_26,
:Y_27,
:Y_28,
:Y_29,
:Y_30,
:Y_31,
:Y_32,
:Y_33,
:Y_34,
:Y_35,
:Y_36,
:Y_37,
:Y_38,
:Y_39
),
Eje superpuesto << {{Min( 0.01 ), Max( 100 ), Inc( 1 ), Minor Ticks( 1 )}},
:Y_17( Marcador superpuesto( 8 ) ),
:Y_18( Marcador superpuesto( 1 ) ),
:Y_20( Marcador superpuesto( 2 ) ),
:Y_21( Marcador superpuesto( 5 ) ),
:Y_22( Marcador superpuesto( 6 ) ),
:Y_23( Marcador superpuesto( 17 ) ),
:Y_24( Marcador superpuesto( 7 ) ),
:Y_25( Marcador superpuesto( 11 ) ),
:Y_26( Marcador superpuesto( 3 ) ),
:Y_27( Marcador superpuesto( 18 ) ),
:Y_28( Marcador superpuesto( 19 ) ),
:Y_29( Marcador superpuesto( 24 ) ),
:Y_30( Marcador superpuesto( 25 ) ),
:Y_31( Marcador superpuesto( 26 ) ),
:Y_32( Marcador superpuesto( 27 ) ),
:Y_33( Marcador superpuesto( 28 ) ),
:Y_34( Marcador superpuesto( 29 ) ),
:Y_35( Marcador superpuesto( 30 ) ),
:Y_36( Marcador superpuesto( 31 ) ),
:Y_37( Marcador superpuesto( 9 ) ),
:Y_38( Marcador superpuesto( 10 ) ),
:Y_39( Marcador superpuesto( 8 ) ),
Enviar a informe (
Despacho(
{},
"102",
caja de escala,
{Min( 0.01 ), Max( 100 ), Inc( 1 ), Marcas menores( 1 )}
),
Despacho( {}, "", AxisBox, {Agregar etiqueta de eje( "Inactivo (uA)" )} ),
Envío( {}, "Y", TextEditBox, {Establecer texto( "Inactivo (uA)" )} ),
Dispatch( {}, "Gráfico de trazado superpuesto", FrameBox, {Tamaño del marco (740, 585)})
)
)
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Recuerde que 'Ayuda > Índice de secuencias de comandos' es su amigo aquí.
El ejemplo dado es:
Nombres predeterminados hasta aquí ( 1 ) ;
ex = { 11 , 22 , 33 , 44 , 55 } ;
Eliminar de ( ex , 3 , 2 ) ;
ex ;
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Hola de nuevo,
Tengo una pregunta de sintaxis.¿Cómo puedo eliminar varias columnas de una lista?
Intenté esto Eliminar de (y_cols, 1::57), pero no funciona.
¡Gracias!
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Gracias, esto tiene mucho sentido en realidad.me gusta el norte Elementos función, también.Creo que eso puede ser útil seguro.
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Veo. Si utiliza la forma rápida de obtener una lista de todas las columnas numéricas como en mi segundo ejemplo, debe eliminar la primera columna.
Una alternativa es crear la lista en un bucle For e incluir solo las columnas que necesita.
Para eliminar el primer elemento de una lista:
Eliminar de ( y_cols , 1 ) ;
Si la columna x siempre es la primera pero su nombre puede cambiar, puede ser útil mantenerla en la lista como en el ejemplo a continuación. Tenga en cuenta cómo uso los índices para especificar las columnas que van a los roles X e Y, respectivamente.
dt = Abierto ( "$SAMPLE_DATA\Gran Clase.jmp" ) ;
por favor = [ 8 , 26 , 2 , 5 , 6 , 17 , 7 , 11 , 3 , 18 , 19 , 24 , 25 ] ; // orden de marcador preferido
columnas = dt << obtener nombres de columna ( cadena , numérico ) ; // Lista de nombres de columnas; x primero
norte = N artículos ( columnas ) ;
// Crear gráfico de superposición
op = dt << Gráfico superpuesto ( X ( columnas [ 1 ]) , Y ( columnas [ 2 :: norte ])) ;
// Establecer marcadores
Para ( i = 2 , i <= norte , i ++,
evaluar ( Analizar gramaticalmente ( "op<<:" || columnas [ i ] || "(Marcador superpuesto(" || Carbonizarse ( por favor [ i ]) || "))" ))
) ;
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Mi primera columna en mi tabla contiene mis valores de x.Simplemente no quiero incluirlo como una columna y en el código.
Gracias
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?¿Qué quieres decir? ¿La columna X? ¿O la primera columna de la tabla?
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Ah, una cosa más, ¿qué debo hacer si no quiero incluir la primera columna?
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?¡Muchas gracias!Esto está funcionando bien.
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Me olvidé de los marcadores. Consulte a continuación un ejemplo en el que el comando Superponer marcador se genera como una cadena antes de analizarse y evaluarse. Puede existir un enfoque más simple.
dt = Abierto ( "$SAMPLE_DATA\Gran Clase.jmp" ) ;
por favor = [ 8 , 26 , 2 , 5 , 6 , 17 , 7 , 11 , 3 , 18 , 19 , 24 , 25 ] ; // orden de marcador preferido
y_cols = dt << obtener nombres de columna ( cadena , numérico ) ; // Lista de nombres de columnas y
// Crear gráfico de superposición
op = dt << Gráfico superpuesto ( X ( : edad ) , Y ( evaluar ( y_cols ))) ;
// Establecer marcadores
Para ( i = 1 , i <= N elementos ( y_cols ) , i ++,
evaluar ( Analizar gramaticalmente ( "op<<:" || y_cols [ i ] || "(Marcador superpuesto(" || Carbonizarse ( por favor [ i ]) || "))" ))
) ;
Re: ¿Cómo puedo usar JSL para crear un "Gráfico de superposición" con series de datos?Se puede usar una lista de columnas para establecer columnas Y dinámicamente:
dt = Abierto ( "$SAMPLE_DATA\Gran Clase.jmp" ) ;
y_cols = { : altura , : peso } ;
dt << Gráfico superpuesto ( X ( : edad ) , Y ( evaluar ( y_cols ))) ;