ajuster une spline avec une variableHé,
Je construis un graphique avec une légende dynamique que l'utilisateur peut choisir par case radio.
Le nom de la légende choisie par l'utilisateur est enregistré en tant que variable 'L1'.
Je souhaite ajouter une fonction qui, lorsqu'un utilisateur clique sur une valeur de la légende, la spline de cette valeur devient plus grasse.
J'ajoute un gestionnaire d'état au fichier et j'ai essayé d'utiliser ce script :
rsh1 = test1 << Make Row State Handler( dt, rsupdate1 );
rsupdate1 =function({},
SplineSelectlist=dt:L1[dt<<GET selected="" rows=""></GET>
L'état « adapter où » ne reconnaît pas la variable.
J'ai aussi essayé avec 'parse' ou sans 'eval' ou de définir la variable avant-
mycolumn= eval(L1);
mais aucun d'entre eux ne fonctionne.
Je serai heureux de savoir s'il existe une solution à ce problème.
Merci.
Re : ajuster une spline avec une variable@vsr , votre tâche est différente de @shiro la tâche.@shiro nécessaire pour ajuster une spline par différents valeurs d'une colonne.
Regardez l'exemple que j'ai fourni, la courbe affichée est différente pour différents valeurs d'État.
D'après votre description, vous semblez vouloir différent Colonnes, pas de valeurs différentes d'une colonne. Ajuster Où sélectionne-t-il valeurs d'une colonne choisie. Sans plus de détails sur ce que vous essayez de faire spécifiquement, je ne peux que deviner.
Je suppose que vous voudrez peut-être tracer différents Y ou différents X, c'est-à-dire des colonnes. Si tel est le cas, JMP dispose d'une solution intégrée, appelée sélecteur de colonnes.Juste au cas où c'est ce dont vous auriez besoin, j'ai fourni un exemple de capture d'écran et de script.Si ce n'est pas ce dont vous avez besoin, veuillez fournir plus de détails.

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 columnsRe : ajuster une spline avec une variableBonjour,
J'aimerais participer à la requête initiale, car j'ai rencontré un problème similaire.
J'essaie de créer un "bouton de sélection de légende" où chaque valeur est un nom de colonne.
lors du choix d'une valeur, le légende et cannelure de mon graphique Bivarié x/y sera mis à jour en fonction de la valeur choisie (la légende précédente et la spline seront effacées).
Cependant, je ne sais pas comment adapter la fonction "fitwhere" pour recevoir un variable en entrée (la variable étant le nom de la colonne sélectionnée), comme décrit dans la requête d'origine ici.
Merci, Hadar
Re : ajuster une spline avec une variablePuisqu'aucune information supplémentaire n'a été fournie, je suppose ce dont vous avez besoin. Peut-être que vous aviez seulement besoin de faire votre déclaration spline en utilisant et expression.Ce script permet de sélectionner une ou plusieurs valeurs de légende. Il utilise:
- La liaison par défaut d'un tableau récapitulatif invisible pour gérer les sélections de légende. Cette table invisible est fermée lorsque la bivariée est fermée.
- Une fonction de gestionnaire rowstate pour effacer les splines précédentes et afficher uniquement celles sélectionnées dans la légende.
- Il a été testé sur JMP14.1 et 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>
Re : ajuster une spline avec une variableIl n'y a pas suffisamment d'informations ici pour répondre et il y a quelques problèmes de syntaxe.
Le graphique comporte-t-il des splines déjà dessinées et souhaitez-vous que l'élément sélectionné soit mis en surbrillance ?
Utilisez-vous GraphBuilder ou Bivariate (Fit Y by X) ?
:eval(L1) n'est pas une syntaxe appropriée.