¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Estoy intentando crear un mapa interactivo de mi edificio para encontrar salas de conferencias. Creé una tabla con los nombres de las salas de conferencias y les di a cada una las coordenadas x e y. Creé un análisis de "Ajustar Y por X", arrastré una imagen de mi plano de planta al fondo y agregué un filtro de datos para los nombres de las habitaciones. Haga clic en el nombre de una habitación y las coordenadas x e y se muestran en el mapa. Funciona perfectamente, excepto que mi edificio tiene varios pisos. He agregado una columna a mi tabla con piso, y ahora me gustaría hacer lo mismo, excepto mostrar el plano de piso correcto según el filtro de datos. ¿Algunas ideas? Una explicación interactiva sería lo mejor.
Re: ¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Gracias de nuevo. Tienes razón en ambos puntos. ¡¡¡Tan cerca!!! Voy a hacer un trabajo aprendiendo el complemento de formas de mapas y veré qué puedo lograr allí. Si tiene alguna otra idea que pueda funcionar en HTML, hágamelo saber.
Re: ¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Si entiendo correctamente, no necesita dos filtros de datos. Solo usa:
df = biv << Local Data Filter( Add Filter( columns( :name) ));
y cambie todas las instancias de 'FrameBox (2)' a 'FrameBox (1)'.
Pero me temo que puede estar decepcionado: 'MakeFilterChangeHandler ()' hace todo el trabajo y (aunque no lo comprobé) dudo que esto funcione cuando mueva el informe a HTML.
Re: ¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Muchas gracias. Esto funcionó y realmente me tiene esperanzado. Basado en el conjunto de datos que usaste, lo que realmente quería hacer era filtrar por un nombre y cambiar la imagen según el sexo. Descubrí cómo hacer esto agregando dos filtros de datos, así que estoy feliz con eso. Soy nuevo en JMP y en las secuencias de comandos, así que mientras copié su secuencia de comandos y funcioné para abrir las imágenes de muestra, no sé cuál es la sintaxis correcta para abrir una imagen diferente. Por último, quiero guardar esto como un html para que pueda ser usado por cualquier persona. ¿Cambia eso cómo deben manejarse las diferentes imágenes?
Re: ¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Esto muestra la mecánica de una forma de hacerlo. Es un poco indirecto ya que (a menos que me lo haya perdido) no hay forma de obtener el estado de selección actual del filtro de datos local. Así que esto lo infiere de las filas filtradas.
NamesDefaultToHere(1);
// Open a table and do Bivariate
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate(X(:height), Y(:weight));
// Add a local data filter (:sex plays the role of floor . . . )
df = biv << Local Data Filter( Add Filter( columns( :sex ) ));
// Get the title of the window
win = (biv << Report) << GetWindowTitle;
// Define a function that will update the background image on the Bivariate plot
f = Function( {a},
// Infer what value of :sex is currenly selected in the data filter
levRows = df << getFilteredRows;
lev = Column(dt, "sex")[levRows];
lev = lev[1];
Speak(lev);
// (Try to) remove an image that might already be there
Try(
imgSeg = Window(win)[FrameBox(2)] << FindSeg( PictSeg( 1 ) );
imgSeg << Remove;
);
// Add the 'corresponding' image
if(
lev == "M",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/tile.jpg"), FillGraph),
lev == "F",
Window(win)[FrameBox(2)] << Add Image(Open("$SAMPLE_IMAGES/progress.gif"), FillGraph)
);
);
// Add a handler to the data filter so that when the user makes a selection the function 'f' is called
rs = df << Make Filter Change Handler( f );
Re: ¿Cómo cambio una imagen de fondo según la selección en un filtro de datos?Hola @ Fowled1 ¡Bienvenidos a la comunidad!
Creo que lo que estás intentando requiere una buena cantidad de secuencias de comandos, pero parece un desafío divertido. Si no es mucho pedir, ¿puedes publicar en qué estás trabajando?