Hallo JMP-Community,
Ich habe ein scheinbar einfaches Problem, das ich nicht lösen konnte.
Im folgenden Skript versuche ich, mithilfe des „Skripts zum Hinzufügen von Grafiken“ Textanmerkungen dynamisch hinzuzufügen, basierend auf Werten, die aus der Hauptdatentabelle extrahiert wurden (siehe Anhang). Das Problem besteht darin, dass die tatsächlichen dynamischen Werte über die mehreren Frames hinweg alle auf die letzten gültigen Daten gesetzt werden, die aus der Datentabelle extrahiert wurden, anstatt speziell jedem Frame zugeordnet zu werden. Ich vermute, dass ich eine Kombination aus „Eval Expr“ und „Expr“ verwenden muss, um das entsprechende Ergebnis zu erhalten, aber ich konnte nicht die richtige Syntax für diesen Vorgang finden. Alle Vorschläge sind willkommen.
Names Default to Here (1);
dt = data table ("TS_DATA_TABLE_MOCK");
fdr_data = dt:FDR << Get Values ();
show (fdr_data);
gb = dt << Graph Builder(
Size( 832, 835 ),
Fit to Window( "Off" ),
Variables(
X( :"DURATION (Week)"n ),
Y( :LSMEAN ),
Wrap( :M_ID ),
Overlay( :ARM ),
Interval( :STDERR )
),
Elements( Points( X, Y, Legend( 31 ) ), Line( X, Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"LSMEAN",
ScaleBox,
{Add Ref Line( 0, "Solid", "Gray", "", 2 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
31,
Base( 0, 0, 0, Item ID( "A", 1 ) ),
Base( 1, 0, 0, Item ID( "B", 1 ) )
)}
)
)
);
gbr = report (gb);
nfr = N items (gbr << Xpath ("//FrameBox"));
For (i = 0, i <= nfr-2, i++,
a_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 4], "PValue"));
a_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 6], "PValue"));
b_fdr4 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 3], "PValue"));
b_fdr14 = "fdr " || CHAR(Format(fdr_data [ (i*6) + 5], "PValue"));
locfr = gbr [FrameBox (i+1)];
locfr << add graphics script (
Text size (8);
Text color (blue);
Text (Center Justified, {4, -0.15}, a_fdr4);
Text (Center Justified, {14, -0.15}, a_fdr14);
Text color (green);
Text (Center Justified, {4, -0.2}, b_fdr4);
Text (Center Justified, {14, -0.2}, b_fdr14);
);
);
Bemerkenswert ist, dass dies ein Teil eines größeren Skripts ist, das bestimmte Zeilen zum Plotten in diesem Format auswählt.
Am besten,
TS
Hallo jthi,
Brillant, wie immer. Ich habe immer noch Probleme mit dem Konstrukt mit Eval / Eval Expr / Expr.
Am besten,
TS
Wenn es sich um Eval(EvalExpr()) handelt, versuchen Sie Folgendes:
Eval(EvalExpr(locfr << add graphics script(
Text Size(8);
Text Color(blue);
Text(Center Justified, {4, -0.15}, Expr(a_fdr4));
Text(Center Justified, {14, -0.15}, Expr(a_fdr14));
Text Color(green);
Text(Center Justified, {4, -0.2}, Expr(b_fdr4));
Text(Center Justified, {14, -0.2}, Expr(b_fdr14));
)));Zumindest die Werte im Diagramm anpassen scheinen aktualisiert zu werden und die Werte sind nicht in allen Gruppen gleich:
