¿Cómo hago para que funcione el cuadro de lista?Soy nuevo en JMP y encontré el cuadro de lista que nos permite filtrar datos según la selección, pero actualmente no funciona para mí. Obtengo que se muestre el cuadro de lista, pero no cambia nada en el gráfico. Espero que la hora cambie según la llegada o la salida. ¿Alguna sugerencia?
dt = Open("$sample_data/Air Traffic.jmp");
m_name = dt:Evento << obtener valores << Aslist(m_name);
gb_default = Expr(
Generador de gráficos(
Tamaño (550, 372),
Mostrar panel de control ( 0 ),
Ajustar a la ventana ("Desactivado"),
Variables( X( :Aerolínea ), Y( :Hora original ) ),
Elementos (diagrama de caja (X, Y, leyenda (19)))
);
);
nw = Nueva ventana ("Monitor de tráfico",
gb = gb_predeterminado;
lbcontent = cuadro de alineación (N Col (10),
Caja espaciadora (Tamaño (1, 0)),
Caja espaciadora (Tamaño (1, 0)),
Caja espaciadora (Tamaño (1, 0)),
Cuadro de texto( "Aerolínea: ", < List1 = Cuadro de lista (m_name, nlines (3), ancho (50)),
List1 << Establecer elementos (m_name) << Obtener seleccionados;
);
);
AnalíticaTabla de datosGráficossecuencias de comandosRe: ¿Cómo hago para que funcione el cuadro de lista?Sugeriría usar el filtro de datos locales para esto en lugar de crear un cuadro de lista con algún jsl personalizado.
Puede agregar un filtro de datos locales desde la barra de herramientas

o menú triángulo rojo

Names Default To Here(1);
dt = Open("$sample_data/Air Traffic.jmp");
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19))),
Local Data Filter(
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
);

Re: ¿Cómo hago para que funcione el cuadro de lista?¡Muchas gracias por esto, esto ciertamente ayuda! ¿Sabría si es posible colocar un filtro de datos local debajo del gráfico en lugar de a la izquierda?
Re: ¿Cómo hago para que funcione el cuadro de lista?Creo que puede hacerlo al menos usando el cuadro de contexto de filtro de datos y el cuadro de fuente de filtro de datos
Names Default To Here(1);
dt = Open("$sample_data/Air Traffic.jmp");
nw = New Window("Selection Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
dfsb = Data Filter Source Box(
dt << Data Filter(
Local,
Mode(Show(1), Include(1)),
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
)
)
)
);Re: ¿Cómo hago para que funcione el cuadro de lista?Tener algunos problemas con el ajuste del filtro de datos local y el cuadro combinado. Estoy tratando de construir una herramienta para mi empresa, así que necesito que la leyenda sea interactiva, al mismo tiempo quiero que algunos puedan poner filtros basados en una columna "temporada" en este ejemplo. Pero tan pronto como cambio la leyenda, el filtro de datos locales continúa expandiéndose hacia abajo en el gráfico. ¿Sabrías qué puedo hacer para mejorar esto?
He tomado la tabla de datos de animales porque es muy pequeña.
dt = Abrir("$sample_data/Animales.jmp");
xlist = dt << Obtener nombres de columnas (String);
gb_default = Expr(
Generador de gráficos(
Tamaño (544, 356),
Mostrar panel de control ( 0 ),
Posición de la leyenda ("Inferior"),
Ajustar a la ventana ("Desactivado"),
Variables( X( :especies ), Y( :millas ), Color( :sujeto ) ),
Filtro de datos locales (
Añadir filtro(
columnas (: temporada),
Pantalla (: temporada, tamaño (160, 60), pantalla de lista)
)
),
Elementos( Puntos( X, Y, Leyenda( 23 ) ) ),
Enviar a informe (
Despacho(
{},
"400",
LegendBox,
{Orientación ("Horizontal"), Lados ("Izquierda")}
)
)
));
cambio_gb = Expr(
Generador de gráficos(
Tamaño (544, 356),
Mostrar panel de control ( 0 ),
Posición de la leyenda ("Inferior"),
Ajustar a la ventana ("Desactivado"),
Variables( X( :especies ), Y( :millas ), Color( Columna( dt, ycol )) ),
Filtro de datos locales (
Añadir filtro(
columnas (: temporada),
Pantalla (: temporada, tamaño (160, 60), pantalla de lista)
)
),
Elementos( Puntos( X, Y, Leyenda( 23 ) ) ),
Enviar a informe (
Despacho(
{},
"400",
LegendBox,
{Orientación ("Horizontal"), Lados ("Izquierda")}
)
)
));
nw = Nueva ventana ("Prueba con animales",
gb = gb_predeterminado;
lbcontent = cuadro de alineación (N Col (10),
Caja espaciadora (Tamaño (1, 0)),
Cuadro de texto ("Color:", < ycb = cuadro combinado (
lista x,
< < Función( {},
ycol = ycb << Obtener;
gb << eliminar;
nw << Anteponer( gb = gb_change );
)
)
),
);
);
Re: ¿Cómo hago para que funcione el cuadro de lista?Sobre lo anterior, ¿me aconsejarías usar filtros de datos para ambos?
Re: ¿Cómo hago para que funcione el cuadro de lista?Al usar el filtro de datos, no debería ser necesario agregar el cuadro de origen del filtro de datos ().Aunque funciona en JMP de escritorio, puede afectar a otros resultados, como JMP Live.El cuadro de origen del filtro de datos debe agregarse cuando desee utilizar una plataforma para filtrar una (o más) otras plataformas.Esto modifica el script de @jthi para demostrar ambos.
dt = Open("$sample_data/Air Traffic.jmp");
nw = New Window("Filter examples",
H List Box(
Tab Page Box("Data Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
dt << Data Filter(
Local,
Mode(Show(1), Include(1)),
Add Filter(columns(:Event), Where(:Event == {"Arrive", "Depart"}))
)
)
)
),
Tab Page Box("Selection Filter",
Data Filter Context Box(
V List Box(
gb = dt << Graph Builder(
Size(550, 406),
Show Control Panel(0),
Fit to Window("Off"),
Variables(X(:Airline), Y(:Original Time), Group X(:Event)),
Elements(Box Plot(X, Y, Legend(19)))
),
Data Filter Source Box(
dt << Graph Builder(
Size( 343, 132 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( Y( :Event ) ),
Elements( Bar( Y, Legend( 2 ) ) )
)
)
)
)
)
)
);