Passen Sie einen Spline mit einer Variablen anHey,
Ich erstelle ein Diagramm mit einer dynamischen Legende, die der Benutzer per Optionsfeld auswählen kann.
Der vom Benutzer gewählte Name der Legende wird als Variable „L1“ gespeichert.
Ich möchte eine Funktion hinzufügen, mit der der Spline dieses Werts fetter angezeigt wird, wenn ein Benutzer auf einen Wert in der Legende klickt.
Ich habe der Datei einen Statushandler hinzugefügt und versucht, dieses Skript zu verwenden:
rsh1 = test1 << Make Row State Handler( dt, rsupdate1 );
rsupdate1 =function({},
SplineSelectlist=dt:L1[dt<<GET selected="" rows=""></GET>
Der Status „Anpassen wo“ erkennt die Variable nicht.
Ich habe auch versucht, die Variable vorher mit „parse“ oder ohne „eval“ zu definieren.
mycolumn= eval(L1);
aber keiner von ihnen funktioniert.
Ich würde mich freuen zu hören, ob es hierfür eine Lösung gibt.
Danke schön.
Betreff: Passen Sie einen Spline mit einer Variablen an@vsr , Ihre Aufgabe ist anders als @shiro 's Aufgabe.@shiro benötigt, um einen Spline anders anzupassen Werte einer Spalte.
Schauen Sie sich das Beispiel an, das ich bereitgestellt habe. Die gezeigte Kurve ist für jeden unterschiedlich Werte von :State.
Ihrer Beschreibung zufolge scheinen Sie etwas anderes zu wollen Säulen, nicht unterschiedliche Werte einer Spalte. „Anpassen“, wo ausgewählt wird, ist aktiviert Werte einer ausgewählten Spalte. Ohne weitere Details darüber, was Sie konkret tun möchten, kann ich nur raten.
Ich vermute, dass Sie möglicherweise unterschiedliche Ys oder unterschiedliche Xs, also Spalten, zeichnen möchten. Für diesen Fall verfügt JMP über eine integrierte Lösung, einen sogenannten Spaltenumschalter.Für den Fall, dass Sie das benötigen, habe ich einen Beispiel-Screenshot und ein Skript bereitgestellt.Wenn dies nicht das ist, was Sie benötigen, geben Sie bitte weitere Details an.

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 columnsBetreff: Passen Sie einen Spline mit einer Variablen anHallo,
Ich würde gerne an der ersten Anfrage teilnehmen, da ich auf ein ähnliches Problem gestoßen bin.
Ich versuche, eine „Legand-Auswahlschaltfläche“ zu erstellen, bei der jeder Wert ein Spaltenname ist.
Bei der Auswahl eines Werts wird der Legende Und Spline Meines bivariaten x/y-Diagramms wird entsprechend dem gewählten Wert aktualisiert (die vorherige Legende und der Spline werden gelöscht).
Allerdings weiß ich nicht, wie ich die Funktion „Anpassen wo“ anpassen soll, um eine zu erhalten Variable als Eingabe (die Variable ist der ausgewählte Spaltenname), wie in der ursprünglichen Abfrage hier beschrieben.
Danke, Hadar
Betreff: Passen Sie einen Spline mit einer Variablen anDa keine weiteren Informationen bereitgestellt wurden, vermute ich, was Sie benötigen. Möglicherweise mussten Sie Ihre Spline-Anweisung nur mit und Ausdruck erstellen.Dieses Skript ermöglicht die Auswahl eines oder mehrerer Legendenwerte. Es benutzt:
- Die Standardverknüpfung einer unsichtbaren Übersichtstabelle zur Verwaltung der Legendenauswahl. Diese unsichtbare Tabelle wird geschlossen, wenn die Bivariate geschlossen wird.
- Eine Rowstate-Handler-Funktion, um vorherige Splines zu löschen und nur die aus der Legende ausgewählten anzuzeigen.
- Es wurde auf JMP14.1 und JMP13.21 getestet.

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>
Betreff: Passen Sie einen Spline mit einer Variablen anEs liegen hier nicht genügend Informationen vor, um darauf zu antworten, und es gibt einige Syntaxprobleme.
Sind im Diagramm bereits Splines gezeichnet und Sie möchten, dass das ausgewählte Element hervorgehoben wird?
Verwenden Sie GraphBuilder oder Bivariate (Y durch X anpassen)?
:eval(L1) ist nicht die richtige Syntax.