Etichetta al passaggio del mouse: più di una trama?È possibile visualizzare più di un grafico nell'etichetta al passaggio del mouse?
L'ho provato inserendo due grafici in una casella di riepilogo H, ma l'ho notato
- l'etichetta al passaggio del mouse mostra solo il primo grafico
- dopo aver fatto clic sull'etichetta al passaggio del mouse, vengono visualizzati entrambi i grafici, ma il filtro dati non viene applicato al secondo grafico:


Visualizza altro...dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 401, 369 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), color( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
H List Box(
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Variables( X( :sex ), Y( :age ), color(:sex) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
),
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ), color(:sex) ),
Elements( Bar( X, Y, Legend( 6 ) ) )
)
)
)
)}
)
)
) Ingegneria della qualità e dei processiRe: Etichetta al passaggio del mouse: più di una trama?A proposito:
Ho generato direttamente la seconda sottotrama Compreso il filtro dati dall'inizio.
La prima sottotrama ottiene il DataFilter tramite Hover Label Framework - Dopo essere inizializzato senza Filtro dati.
Questo mi fa venire in mente un altro argomento:
https://community.jmp.com/t5/Discussions/speeding-up-heatmap-graphs/mp/571277/highlight/true#M78103
E in effetti, Jmp 16 e Jmp17 si comportano in modo diverso qui:
Su Jmp16, il filtro dati viene sempre aggiunto Dopo l'inizializzazione del grafico, anche se il filtro dati fa parte del codice di Graph Builder.
Pertanto, per entrambi i grafici, l'intervallo è bloccato tramite Blocca bilancia( 1 ) alla gamma completa -> entrambe le trame sembrano uguali.
Su Jmp17, se il filtro dati fa parte del codice GraphBuilder (secondo grafico), il filtro dati viene aggiunto immediatamente.
Pertanto gli intervalli degli assi del secondo grafico sono limitati ai dati filtrati.
-> nuovo: Se necessario, è necessario specificare manualmente gli intervalli degli assi.
Salto 17:

Jmp 16

Re: Etichetta al passaggio del mouse: più di una trama?Ahi, sì.
Quindi, _whereExpr non era il vero problema
--> Problema effettivo risolto tramite Sostituto
Visualizza altro... Re: Etichetta al passaggio del mouse: più di una trama?Molto probabilmente il tuo _whereExpr viene valutato e restituisce il valore mancante.
Re: Etichetta al passaggio del mouse: più di una trama?Hm, come ottenere l'accesso al local:_whereExpr
Presumo, un errore abbastanza semplice, ma non riesco a trovarlo ...
Visualizza altro...Graph Builder(
Size( 401, 369 ),
Show Control Panel( 0 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :weight ), color( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Set Graphlet(
Picture(
Show( Namespace( "local" ) << Get Contents() ); //contains :_whereExpr
Show(local:_whereExpr); // empty ?!?
Eval(Eval Expr(
Data Filter Context Box(
H List Box(
Current Data Table() << DataFilter( Local, Add Filter( columns( :height, :weight ), Where( Expr(Name Expr(local:_whereExpr)) )
) ),
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Graph Spacing( 4 ),
Variables( X( :sex ), Y( :age ), Color( :sex ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
),
Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ),
Graph Spacing( 4 ),
Variables( X( :sex ), Y( :age ), Color( :sex ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
);
)
)))
)
)}
)
)
);Generatore di grafici( Dimensione( 401, 369 ), Mostra pannello di controllo( 0 ), Spaziatura grafico( 4 ), Variabili( X( :altezza ), Y( :peso ), colore( :sesso ) ), Elementi( Punti( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) ), SendToReport( Dispatch( {}, "Graph Builder", FrameBox, {Set Graphlet( Picture( Show( Namespace( "local" ) < < Get Contents() ); //contiene :_whereExpr Show(local:_whereExpr); // vuoto ?!? Eval(Eval Expr( Data Filter Context Box( H List Box( Current Data Table() << DataFilter( Local, Add Filter( columns( :height, :weight ), Where( Expr(Name Expr(local:_whereExpr)) ) ) ), Generatore di grafici( Mostra pannello di controllo( 0 ), Blocco scale( 1 ), Spaziatura grafico( 4 ), Variabili( X( :sesso ), Y( :età ), Colore( :sesso ) ), Elementi( Heatmap( X, Y, Legenda( 5 ) ) ) ), Generatore di grafici( Mostra pannello di controllo( 0 ), Blocco scale( 1 ), Spaziatura grafico( 4 ), Variabili( X( :sesso ), Y( :età ), Colore( :sex ) ), Elements( Heatmap( X, Y, Legend( 5 ) ) ); ) ))) ) )} ) ) );
Re: Etichetta al passaggio del mouse: più di una trama?Potrebbe non essere facile (almeno non con semplici grafici, puoi usare le immagini però). Le etichette al passaggio del mouse hanno una documentazione abbastanza buona nel sito della guida di JMP
Guida allo scripting > Scripting di grafici > Etichette al passaggio del mouse > Aggiungere grafici o immagini alle etichette al passaggio del mouse utilizzando i graphlet
Comandi Graphlet
Immagine
Uno script obbligatorio che aggiunge una miniatura di un grafico o un'immagine all'etichetta al passaggio del mouse.
Immagine() viene sempre eseguito in un contesto di esecuzione etichetta al passaggio del mouse derivato dall'elemento visivo corrente. Il primo Scatola delle immagini (al di fuori di un filtro dati locale) trovato verrà utilizzato per generare l'immagine visualizzata.
Più documentazione Utilizzo di JMP > Rapporti JMP > Personalizza etichette al passaggio del mouse nei grafici JMP
Re: Etichetta al passaggio del mouse: più di una trama?forse, a volte questo è esattamente ciò che l'utente desidera:
- mostrare un solo grafico con il filtro "hover" applicato
- e quando fai clic su di esso:
- aprire lo stesso grafico
- più un secondo grafico "statico" - senza filtro "hover" applicato
Se è così, si potrebbe chiamare questo bug una funzionalità.
In Graph-Builder-30-Second-Challenge @martindemel mostra che non è nemmeno necessaria una casella di riepilogo H/V circostante.