707228_es-ES
Cambie dinámicamente el tipo de gráfico de Graph Builder según el tipo de modelado variable

Esta receta muestra cómo cambiar dinámicamente el tipo de elemento en Graph Builder, dependiendo de si el usuario selecciona una variable de eje x continua o categórica en el conmutador de columnas. Los elementos son los tipos de gráficos que aparecen como iconos en la parte superior de la paleta Graph Builder. Para entradas continuas, se agrega un botón de opción que permite al usuario seleccionar entre Línea de ajuste y Contorno. Esta receta es útil al crear gráficos interactivos para personas que no son expertos en JMP y solo necesitan un número limitado de opciones.
Ingredientes:- Generador de gráficos
- Manejo de expresiones
Tabla de datos de muestra – Gran clase
Dificultad - Duro
Pasos- Empezar con Nombres predeterminados aquí (1) y abierto gran clase .
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
- Cree una función que envíe un mensaje al Generador de gráficos plataforma que elimina el elemento existente y luego agrega uno nuevo. Se supone que el Puntos El elemento ya se muestra y es el elemento número 1, por lo tanto el elemento a eliminar es el número 2.
// This function changes the type of chart being displayed.
// It takes a reference to a Graph Builder report (gbr) and the chart type required (gr)
// At the moment it assumes the Points element will always be included
changeElement = function( {gbr, gr},
{default local},
Eval(
Substitute(
Expr(
gbr << remove element( 1, 1, 2 ) << add element( 1, 1, {Type( __aa__ ), X, Y} )
), Expr( __aa__ ), gr
)
)
);
- Cree la nueva ventana que contiene el conmutador de columnas ( cs ) para cambiar el eje x, una caja de radio ( rb ) para controlar el tipo de elemento para variables continuas, y el Generador de gráficos ( gb ).
rb_out = "Line of Fit";
win1 = New Window( "Demo",
Text Box(
"Column switching between continuous and nominal variables will change line of fit to box plots",
<<SET wrap=""></SET>
El conmutador de columnas se crea deliberadamente fuera de Graph Builder para que luego podamos crear una función que actúe cuando cambie el conmutador.
- Vincular el conmutador de columnas cs al generador de gráficos gb
cs << link platform( gb );
- Cree un controlador de cambio de columna. El controlador llama a la función post una vez que se ha completado el cambio. El formato proviene directamente del Scripting Index.
post = Function( {previousColumn, currentColumn, switcher},
gbr = Report( gb )[GraphBuilderBox( 1 )];
If( Column( dt, cs << get current ) << get modeling type == "Continuous",
changeElement( gbr, rb_out ),
changeElement( gbr, "Box Plot" )
);
);
cs << Make Column Switch Handler( 1, post );
Tenga en cuenta que no es necesario que suceda nada antes de que se complete el cambio, por lo que el primer argumento de Crear controlador de cambio de columna no hace nada.
- Finalmente, inicie la ejecución del conmutador de columnas para fines de demostración.
cs << run();
Variación potencial:
- Cree una función de cambio "previo" que itere sobre los elementos existentes en Graph Builder (usando << Obtener elementos ), encuentra el que necesita ser eliminado y establece mediante programación el tercer argumento en << eliminar elemento (en lugar de confiar en que sea el segundo elemento).
Comments
There are no comments yet