Come posso modificare un'immagine di sfondo in base alla selezione in un filtro dati?Sto cercando di creare una mappa interattiva del mio edificio per trovare sale conferenze. Ho creato una tabella con i nomi delle sale conferenze e ho assegnato a ciascuna una coordinata xey. Ho creato un'analisi "Adatta a X da X", ho trascinato un'immagine della mia planimetria in background e aggiunto un filtro di dati per i nomi delle stanze. Fare clic sul nome di una stanza e le coordinate xey vengono visualizzate sulla mappa. Funziona perfettamente, tranne che il mio edificio ha più piani. Ho aggiunto una colonna al mio tavolo con floor, e ora mi piacerebbe fare la stessa cosa, tranne che visualizzare la planimetria corretta in base al filtro dati. Qualche idea? Una spiegazione interattiva sarebbe la migliore.
Ri: Come faccio a cambiare un'immagine di sfondo in base alla selezione in un filtro dati?Grazie ancora. Hai ragione su entrambi i punti. Così vicino!!! Ho intenzione di fare un po 'di lavoro imparando le add-on delle forme della mappa e vedere cosa posso realizzare lì. Se hai altre idee che potrebbero funzionare in HTML, faccelo sapere.
Ri: Come faccio a cambiare un'immagine di sfondo in base alla selezione in un filtro dati?Se ho capito bene, non hai bisogno di due filtri dati. Basta usare:
df = biv << Local Data Filter( Add Filter( columns( :name) ));
e cambia tutte le istanze di 'FrameBox (2)' in 'FrameBox (1)'.
Ma temo che tu possa essere deluso: "MakeFilterChangeHandler ()" fa tutto il lavoro e (anche se non ho controllato) dubito che funzionerà quando sposti il rapporto in HTML.
Ri: Come faccio a cambiare un'immagine di sfondo in base alla selezione in un filtro dati?Grazie mille. Questo ha funzionato e mi spera davvero. Sulla base del set di dati che hai usato, quello che volevo veramente fare era filtrare per nome e far cambiare l'immagine in base al sesso. Ho capito come farlo aggiungendo due filtri di dati, quindi sono contento di questo. Sono nuovo di JMP e di scripting così mentre ho copiato lo script e ha funzionato per aprire le immagini di esempio, non so quale sia la sintassi corretta per aprire un'immagine diversa. Infine, voglio salvare questo come un html in modo che possa essere utilizzato da chiunque. Questo cambia come devono essere gestite le diverse immagini.
Ri: Come faccio a cambiare un'immagine di sfondo in base alla selezione in un filtro dati?Questo mostra i meccanismi di un modo per farlo. È un po 'indiretto dal momento che (a meno che non me lo sia perso) non c'è modo di ottenere lo stato di selezione corrente del filtro dati locale. Quindi questo lo inferisce dalle righe filtrate.
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 );
Ri: Come faccio a cambiare un'immagine di sfondo in base alla selezione in un filtro dati?Ciao @ fowled1 , benvenuto nella comunità!
Credo che quello che stai tentando richieda un bel po 'di scripting, ma sembra una sfida divertente. Se non è chiedere troppo, puoi pubblicare con cosa stai lavorando?