<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich schreibe ein Skript, das eine Reihe von Diagrammen aus der Graph Builder-Plattform generiert. Ich möchte, dass das Skript für die Datentabellenspalten, die in der Graph Builder-Analyse verwendet werden, dynamisch ist und auch für die Optionen der scalebox dynamisch ist. Ich stelle mir aktuell zwei Listen vor (kann auch in einer Matrix oder sogar in einer Datentabelle sein ???). Die erste Liste würde alle Variablen im Graph Builder-Ausdruck enthalten. Die zweite Liste kann sogar eine Liste von Listen sein, sodass mehrere Diagramme unterstützt werden können. Es würde die zu speichernden Werte enthalten (Skala min, Skala max, Parameter- / Spaltenname aus der Datentabelle). Ich füge ein Beispiel für den Code bei, den ich verwenden möchte. Jede Hilfe, die jeder anbieten kann, wäre sehr dankbar.
Vielen Dank,
Matt
subM = Liste ( parI, parE, minI, maxI );
testM = Liste ({"Interner Parameter A", "Externer Parameter B", 100, 200});
Für (i = 1, i
gb = Ausdruck (
Graph Builder (
Systemsteuerung anzeigen (0),
Variablen (X (: System), X (: Lauf, Position (1)), X (: Position, Position (1)), Y ( parI , Seite ("rechts")), Y ( parE Position (1))),
Elemente (
Punkte (X (1), X (2), X (3), Y (2), Legende (7), Jitter (1))
Punkte (X (1), X (2), X (3), Y (2), Legende (9), Jitter (1))
Punkte (X (1), X (2), X (3), Y (1), Legende (8), Jitter (1))
)
SendToReport (
Versand ({}, "System", ScaleBox, {Hauptstriche anzeigen (1), Kleinere Hilfsstriche anzeigen (0), Gedrehte Etiketten ("Automatisch")}),
Versand ({}, "X1", ScaleBox, {Min (90), Max (190), Inc (10), Minor Ticks (1)}),
Versand ({}, "X2", ScaleBox, {Min ( Mini ), Max ( maxI ), Inc (10), Minor Ticks (1)}),
Versand ({}, "X3", FrameBox, {Markergröße (3)})
)
)
);
Für (j = 1, j ) + 1, j ++,
Ersatz (gb, subMtestM)
);
gb;
Warten (0);
);
Ich generiere dynamische Diagramme mit dem Graph Builder nach folgendem Ansatz:
- Ich erstelle eine Zeichenfolge (z. B. gb_expr), die die erforderlichen Befehle des Diagramm-Generators enthält.
- Ich führe den String mit eval aus (parse (gb_expr))
Hier ist ein Beispiel, in dem evalinsert verwendet wird, um Variablen bequem in die Diagrammerstellungs-Zeichenfolge einzufügen.
gb_expr = evalinsert ( "\ [
trend_chart_cc = Graph Builder (
Systemsteuerung anzeigen (0),
Variablen (X (: ^ xaxis_col ^), Y (: ^ yaxis_rbox_value ^), Überlagerung (: ^ plot_cbox_value ^)),
Elemente (
Punkte (X, Y, Legende (2)),
Zeile (X, Y, Legende (4), Zeilenreihenfolge (0), Zusammenfassungsstatistik ("Mittelwert"))
)
SendToReport (
Versand(
{},
"Graph Builder",
OutlineBox,
{Titel setzen ("Fallzahl")}
)
Versand ({}, ^ xaxis_col ^, ScaleBox, {Rotated Labels ("Automatic")}),
^ marker_text ^
Versand ({}, "Graph Builder", FrameBox, {Markergröße (3)}),
^ legend_text ^,
Versand(
{},
"Diagrammtitel",
TextEditBox,
{Setze Text ("^ snap_name ^")}
)
)
);
] \ " ) ;