Wenn ich aus einem dt ein Diagramm wie folgt erstelle:
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
Es funktioniert großartig.Wenn ich jedoch alles in einer Schleife zusammenfüge, in der Hoffnung, eine Reihe von Diagrammen (eines für jede Spaltenbeschriftung) jeweils in einem eigenen Fenster zu generieren, wird stattdessen nur das erste Diagramm aktualisiert:
for(i = 1, i <= N Items(analysisTests), i++,
gb = Data_Table << Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(
X( :Split ),
X( :Wafer, Position( 1 ) ),
Y( As Column( analysisTests[i] ) ),
Color( :Split )
),
Elements(
Points( X( 1 ), X( 2 ), Y, Legend( 21 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 22 ) )
)
);
);Wie kann ich eine Reihe von Diagrammen anzeigen, jedes in einem eigenen Fenster?Es sieht so aus, als würde ich mehrere Datentabellen mit jeweils einem eigenen Diagramm benötigen, da nach einem Diagramm auf der Grundlage einer Datentabelle gefragt wird, aber es scheint, als ob es einen einfacheren Weg geben sollte.Ich habe gb[i] ausprobiert, in der Hoffnung, für jede Schleife ein separates Diagramm zu erhalten, aber das gibt einen Fehler aus. -- Nicht abonnierbarer Wert beim Zugriff oder bei der Auswertung von 'Assign'
Danke David,
Das ist eigentlich genau das, was ich gemacht habe, aber es wurde nur das letzte angezeigt.Am Ende habe ich einen Fehler in einem Teil des „Extra“-Skripts gefunden, den ich nicht angezeigt habe, und als dieser behoben war, begann es ordnungsgemäß zu funktionieren.Ihre Antwort hat mir also gezeigt, dass ich es richtig gemacht habe, und mir den richtigen Weg gezeigt, um das eigentliche Problem zu finden.Danke
Wenn ich falsch verstanden habe, was Sie mit „Fenster“ gemeint haben – und dass Sie eigentlich viele Diagramme in einem einzigen Fenster wollen, dann müssen Sie das Diagramm in einen Container legen (der verhindert, dass es sofort gerendert wird) und es dann an ein Pre anhängen -vorhandenes Anzeigefeld (hlb in diesem Beispiel)
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
NewWindow("Demo",
hlb = HListBox()
);
for (i=1,i<=nitems(cols),i++,
content = VListBox(
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
)
);
hlb << append(content)
);Ich bin mir nicht sicher, warum das so ist. Ich würde erwarten, dass die Standardaktion darin besteht, dass separate Fenster erstellt werden. wie in diesem Skript:
dt = open("$SAMPLE_DATA/Big Class.jmp");
cols = dt << get column names;
for (i=1,i<=nitems(cols),i++,
dt << Graph Builder(
Size( 353, 317 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( eval(cols[i]) ) )
);
)