Fügen Sie die Graphics Script H-Zeile mit Variable hinzuHallo zusammen,
Ich versuche, dem Diagrammerstellungsobjekt mit einer Variablen eine horizontale Linie hinzuzufügen. Auf diese Weise funktioniert es
x = 139.4;
Show( x ); //x = 139.4;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line( x )
);
Aber wenn ich so etwas mache
TR1_row = dt_lims << get selected rows;
TR1 = Column( dt_lims, "CL" )[TR1_row] ;
gbReport[Framebox( 1 )] << addGraphicsScript(
H Line(TR1 )
);
Es funktioniert nicht, irgendwelche Ideen?
Betreff: Graphics Script H-Zeile mit Variable hinzufügen@avner8943 ,
Im Anhang finden Sie ein Skript, das einen RowState-Handler verwendet, um Grenzwerte zu ändern.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
f= Function({a}, {TR1, i},
print(a, fb);
// show(a, fb);
for(i=1, i<=nitems(fb), i++,
Try( fb[i] << Remove Graphics Script (1) )
);
TR1 = :Limits[dtlims << get selected rows];
Eval (EvalExpr( fb << Add Graphics Script( H Line( Expr( TR1) ) ) ) );
);
gb = dt << Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ), Group X(:sex) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fb = gb << Xpath("//FrameBox");
rs = dtlims << Make RowState Handler(f );
Wählen Sie eine oder mehrere Zeilen aus oder löschen Sie alle Zeilenauswahlen und sehen Sie sich die Änderungen an allen Frameboxen an.

Dieses Skript wurde auf JMP 14 und 15 getestet. Im Anhang finden Sie eine geringfügige Änderung des Skripts in Zeile 26, damit das Skript unter JMP 13 funktioniert.
Es muss also etwas anderes mit Ihrem Skript nicht stimmen, da dies mit einem RowState-Handler-Skript funktioniert.
Betreff: Graphics Script H-Zeile mit Variable hinzufügenVielleicht weil ich es innerhalb einer Funktion mache und diese Funktion von MakeRowStateHandler aus aufrufe, funktioniert es, wenn ich es außerhalb der Funktion versuche.
Betreff: Graphics Script H-Zeile mit Variable hinzufügen@avner8943 ,
Hier ist ein Skript, das die JMP-Beispieldatentabelle Big Class verwendet, selektiv nur Männer verwendet und 3 Grenzwerte gleichzeitig hinzufügt.
Names Default to Here(1);
dt = Open("$Sample_Data/Big Class.jmp");
dt << sort(By(:sex, :age), Replace Table(1));
dt << New Column( "Order", Numeric);
dt:Order << Set Each Value( If( row()==1 | :sex != lag(:sex,1), 1, lag(:Order,1) +1)) ;
dtsum = dt << Summary( Group(:sex), Min(:height), mean(:height), Max(:height));
dtlims = dtsum << Stack(
columns(
:Name( "Min(height)" ),
:Name( "Mean(height)" ),
:Name( "Max(height)" )
),
Source Label Column( "Label" ),
Stacked Data Column( "Limits" )
);
Close(NoSave, dtsum);
TR1_row = dtlims << get rows where( :sex =="M");
TR1 = column(dtlims, "Limits")[TR1_row];
gb = dt << Graph Builder( where (:sex=="M"),
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :Order ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
gbreport = report(gb);
gbreport[FrameBox(1)] << Add Graphics Script( HLine( TR1 ) );
Es erzeugt diese Handlung.

Ich bin mir nicht sicher, wo das Problem zu liegen scheint, es sei denn, es sind keine ausgewählten Zeilen vorhanden.
Viel Glück!
Betreff: Graphics Script H-Zeile mit Variable hinzufügenDas funktioniert, aber wie kann ich das an mein Skript anpassen, das Werte aus einer bestimmten Zelle in der JMP-Tabelle übernimmt?Betreff: Graphics Script H-Zeile mit Variable hinzufügen@avner8943 ,
Die Syntax für H Line() ist H Line(y), H Line( x1, x2, y). Wenn Sie über einen Wertevektor verfügen, probieren Sie dieses Skript aus.
Names Default To Here( 1 );
v = [10, 50, 20];
New Window( "Example",
Graph Box(
Pen Size( 2 );
H Line( v );
)
);
Erzeugt diese Handlung:

Überprüfen Sie, ob dieses Skript für Sie funktioniert.Wenn dies nicht der Fall ist, geben Sie bitte an, welche Version von JMP und Betriebssystem Sie verwenden.