Adatta una spline con una variabileHey,
Costruisco un grafico con una leggenda dinamica che l'utente può scegliere per radio box.
Il nome della legenda scelta dall'utente viene salvato come variabile "L1".
Voglio aggiungere una funzione che quando un utente fa clic su un valore della legenda, la spline di questo valore diventa più marcata.
Aggiungo un gestore di stato al file e ho provato ad usare questo script:
rsh1 = test1 << Make Row State Handler( dt, rsupdate1 );
rsupdate1 =function({},
SplineSelectlist=dt:L1[dt<<GET selected="" rows=""></GET>
Lo stato 'fit where' non riconosce la variabile.
Ho anche provato con 'parse' o senza 'eval' o per definire la variabile prima-
mycolumn= eval(L1);
ma nessuno di loro funziona.
Sarò felice di sapere se c'è una soluzione a questo.
Grazie.
Ri: si adatta una spline con una variabileDal momento che non sono state fornite ulteriori informazioni, sto indovinando ciò di cui hai bisogno. Forse hai solo bisogno di rendere la tua istruzione spline usando e expresssion. Questo script consente di selezionare uno o più valori di legenda. Utilizza:
- Il collegamento predefinito di una tabella di riepilogo invisibile per gestire le selezioni di legenda. Questo tavolo invisibile è chiuso quando la bivariata è chiusa.
- Una funzione di gestore riga stato per cancellare le spline precedenti e mostrare solo quelle selezionate dalla legenda.
- È stato testato su JMP14.1 e JMP13.21.

Names Default to Here(1);
dt0 = Open("$sample_data/SATByYear.jmp");
//create a smaller table too many groupings
dt0 << Select Where( :Region=="Plains" | :Region=="South");
dt = dt0 << Subset(All Columns, Output Tablename("SomeStates"));
close(dt0,NoSave);
//change Year from Ordinal to Continuous to create a Bivariate report
dt:Year << Set Modeling Type("Continuous");
//The legend column is hardcoded. It seemed like you know how to do that.
//I created a new column just for interest
gCol = dt << New Column("Region_State", character);
gcol << set each value( substr(:Region,1,1) || "_" || :State);
dt << Color by Column(:Region);
//Create the Bivariate report
biv = dt << Bivariate( Y(:SAT Math), X(:Year) );
//Add a row legion for the legend column. For your script you woudl have to remove the
//previous legend and add a new one.
rbiv = Report(biv);
fb = rbiv[FrameBox(1)];
//You would likely change both color and symbol, just made it different for interest
fb << Row Legend(:Region_State, color(0), Marker(1));
//It will be easier to create the Spline with a By group. The Summary table simplifies the task.
sumdt =dt << Summary(Group(:Region_State), Invisible);
//if the biv winow is closed/ close summary table
biv << On Close (Close(sumdt, NoSave)); //closes the summary table and row state handler
//Create a row state handler function, that defines the tasks when rge rowstate of sumdt changes.
f = Function({a},
_c = biv << Xpath("//IfBox[@isTrue='true']");
for(i=nitems(_c), i>=1, i--, biv << (curve[i] << Remove Fit) );
_yy = sumdt << get selected rows();
if(nrow(_yy)>0,
_xx = (sumdt:Region_State<<GET values=""></GET>
Ri: si adatta una spline con una variabileNon ci sono abbastanza informazioni qui per rispondere, e ci sono alcuni problemi di sintassi.
Il grafico presenta spline già disegnate e vuoi evidenziare l'elemento selezionato?
Stai usando GraphBuilder o Bivariate (Fit Y di X)?
: eval (L1) non è la sintassi corretta.
Ri: si adatta una spline con una variabileCiao,
Mi piacerebbe partecipare al querry iniziale, dal momento che ho riscontrato un problema simile.
Sto cercando di creare un "pulsante di scelta della legenda" in cui ogni valore è un nome di colonna.
quando si sceglie un valore, il leagend e linguetta del mio grafico x / y Bivariate verrà aggiornato in base al valore scelto (la legenda precedente e la spline verranno cancellati).
Tuttavia, non so come adattare la funzione "fit where" per ricevere a variabile come input (la variabile è il nome della colonna selezionata), come descritto nella query originale qui.
Grazie, Hadar
Ri: si adatta una spline con una variabile @vsr , il tuo compito è diverso da @shiro Il compito di @shiro necessario per adattarsi a una spline di diverso valori di una colonna.
Guarda l'esempio che ho fornito, la curva mostrata è diversa per differente valori di: stato.
Dalla tua descrizione, sembra che tu voglia qualcosa di diverso colonne, non diversi valori di una colonna. Fit Dove sta selezionando valori di una colonna scelta Senza ulteriori dettagli su ciò che in particolare stai cercando di fare, posso solo indovinare.
La mia ipotesi è che potresti voler rappresentare diverse Y o X diverse, cioè colonne. Se questo è il caso, JMP ha una soluzione integrata, chiamata commutatore di colonne. Nel caso in cui sia necessario, ho fornito uno screenshot e uno script di esempio. Se questo non è quello che ti serve, ti preghiamo di fornire maggiori dettagli.

Names Default to Here(1);
dt = Open("$sample_data/TechStock.jmp");
biv = dt << Bivariate(
Y( :Name( "Adj. Close*" ) ),
X( :Date ),
Fit Spline( 10, {Line Color( {212, 73, 88} )} ),
Column Switcher(
:Name( "Adj. Close*" ),
{:Open, :High, :Low, :Close, :Name( "Adj. Close*" )}
)
);
//select a Y column one at a time or select the "play/go" button and JMP will cycle thru all columns