Le vecchie leggende riappaiono quando si utilizza il filtro dati localeCiao comunità JSL!
Ho usato una variante di codice per la legenda del grafico dinamico , funziona alla grande cambiando automaticamente la legenda di un grafico con solo 1 clic.
Tuttavia, quando ha tentato di includere il filtro dei dati locali nei grafici, per qualche motivo il riquadro del bordo delle legende precedenti / precedenti continua a riapparire dopo aver fatto clic sul filtro. ho trovato un discussione precedente fondamentalmente con lo stesso problema, ma sfortunatamente quella tendenza del 2014 è stata un monologo e quando ho provato tutti i suoi passaggi TS nessuno di loro ha funzionato sul mio caso.
La legenda stessa è corretta (i dati mostrano i colori e i marcatori corretti), ma la finestra del report diventa super occupata con tutte le caselle di bordo precedenti.
Ho avuto una soluzione, in cui ho appena aggiunto un pulsante in più per eliminare tutte le "legende" non necessarie dopo aver premuto il filtro dati locale, ma continuano a riapparire ogni volta che colpisco un filtro diverso. Inoltre, non ho avuto successo nell'aggiungere il codice per il pulsante "elimina" all'interno del filtro dati locale (quindi ogni volta che utilizzo la funzionalità di filtro eliminerà anche tutte le caselle legenda extra inutili).
Mi sto solo chiedendo se esiste un modo per eliminare la "memoria" memorizzata delle legende precedenti nel grafico. O qualsiasi soluzione alternativa che può essere utilizzata in questo caso.
Grazie in anticipo per l'aiuto e il supporto !!!
Grafico prima di utilizzare il filtro dati locale
Grafico dopo aver utilizzato il filtro dati locale

Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localePuoi includere uno script che funziona su una delle tabelle di dati JMP di esempio che mostra quale piattaforma stai usando e come viene aggiunta la legenda?
Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localeGrazie mille per la risposta. Per comodità userò il codice da questo inviare e ho appena aggiunto la sezione Filtro dati locali del grafico.
//Begin Script;
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
variables = {"age", "sex"};
// Initial nlevels is the number of levels of 'age', as it is the first by-group used.
fitVar = "age";
nlevels=6;
// Creating the legend. For each selection, the previous spline fits are removed, then
// new ones are generated.
BC_legend = Panel Box( "Choose Legend",
legend = Radio Box(
{"age", "sex"},
fitVar = legend << Get Selected;
Match( fitVar,
"age",
(Summarize(vals = By( :age ), c=count );
For(ii = nlevels, ii >=1, ii--,
obj << (Curve[1] << Remove Fit );
);
report(obj)[BorderBox(2)] << Delete;
report(obj)[FrameBox(1)] << Row Legend("age", color(1), marker(1));
obj << Group By( :age ) << Fit Spline( 0.1, standardized );
nlevels = nItems(vals);
),
"sex",
(Summarize(vals = By( :sex ), c=count );
For(ii = nlevels, ii >=1, ii--,
obj << (Curve[1] << Remove Fit );
);
report(obj)[BorderBox(2)] << Delete;
report(obj)[FrameBox(1)] << Row Legend("sex", color(1), marker(1));
obj << Group By( :sex ) << Fit Spline( 0.1, standardized );
nlevels = nItems(vals); )
);
));
// Fitting the initial Bivariate fit with 'age' as the by-group, adding the legend
// to control the selections.
nw = New Window( "BigClassBivariate",
HListBox(
obj = dt << Bivariate(
Y( :weight ),
X( :height ),
Group By( :age ),
Fit Spline( 0.1, standardized ),
Local Data Filter(
Location( {0, 0} ),
Mode( Select( 0 ), Show( 1 ), Include( 1 ) ),
Add Filter(
columns( :age ),
Display( :age, Size( 204, 200 ), List Display )
)
),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 493, 354 ),Marker Size( 2 ), Marker Drawing Mode( "Normal" ), Row Legend(
dt:(fitVar),
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "Standard" ),
Continuous Scale( Cont ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
); ,
BC_legend
));
//End Script;
Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localeNon mi ero reso conto di non aver caricato correttamente le immagini sui miei post originali.
Grafico prima di utilizzare il filtro dati locale

Grafico dopo aver utilizzato il filtro dati locale

Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localeQuindi come esempio con il codice sopra. Faccio clic un paio di volte tra "Età" e "sesso" nella sezione Scegli legenda dell'interfaccia, quindi uso il filtro locale e le "vecchie" leggende tornano indietro.

Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localeInnanzitutto, sembra che questo problema sia stato risolto con JMP 15. Fortunatamente esiste una soluzione semplice per le versioni precedenti.
Quando rimuovi la vecchia legenda usando:
report(obj)[BorderBox(2)] << Delete;
la parte di visualizzazione della legenda viene rimossa, ma DisplayFrame ha ancora un handle per la vecchia legenda e quando aggiungi la nuova legenda ora ce ne sono due. Puoi anche vederlo prima ancora di toccare il filtro dati, se salvi lo script per il rapporto vedrai due comandi RowLegend (). Le due legende riappariranno anche se si utilizza Ripeti analisi nel report, con o senza un filtro dati.
Per garantire che la legenda sia stata completamente rimossa e non solo la parte di visualizzazione della legenda, è possibile utilizzare sostituire la casella Elimina con:
report(obj)[OwnerBox(1)] << Remove;
Ciò equivale a un clic con il tasto destro> Rimuovi nella legenda, che lo rimuove correttamente.
Spero possa aiutare!
Ri: Le vecchie leggende riappaiono quando si utilizza il filtro dati localeFunzionava !!!! Fantastico grazie mille !!!! Il mio codice è bellissimo ora !!!