Graph Builder-ElementschleifenfunktionWie kann ich die Loop-Funktion zur Definition mehrerer Positionen verwenden?
Wenn Sie es wie unten trennen, funktioniert es:
Eval(
Substitute(
Expr(
gb = cdt << Graph Builder(
Size( 600, 800 ),
Show Control Panel( 0 ),
vvv,
Elements(Position( 1, 1 ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 3 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 4 ) )
),
Elements(
Position( 2, 1 ),
Box Plot( X, Y, Outliers( 0 ) ),
Points( X, Y ),
Bar( X, Y, Bar Style( "Float" ), Label( "Label by Value" ) ),
Legend( 6 )
),
Elements(
Position( 2, 2 ),
Box Plot( X, Y, Outliers( 0 ) ),
Points( X, Y ),
Bar( X, Y, Bar Style( "Float" ), Label( "Label by Value" ) ),
Legend( 7 )
),
Elements(
Position( 2, 3 ),
Box Plot( X, Y, Outliers( 0 ) ),
Points( X, Y ),
Bar( X, Y, Bar Style( "Float" ), Label( "Label by Value" ) ),
Legend( 8 )
)
)
),
Expr( vvv ),
Name Expr( var expr )
)
);Aber wenn man eine Schleife wie diese verwendet, hat sie nur einen Balken. Was fehlt dann in diesem Code?
Eval(
Substitute(
Expr(
gb = cdt << Graph Builder(
Size( 600, 800 ),
Show Control Panel( 0 ),
vvv,
Elements(Position( 1, 1 ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 3 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 4 ) )
),
For( j = 1, j <= n_mydatecol, j++,
Elements(
Position( 2, j ),
Box Plot( X, Y, Outliers( 0 ) ),
Points( X, Y ),
Bar( X, Y, Bar Style( "Float" ), Label( "Label by Value" ) ),
Legend(eval( 5 + j ))
),
),
)
),
Expr( vvv ),
Name Expr( var expr )
)
);
Automatisierung und SkriptingWindowsBetreff: Graph Builder-ElementschleifenfunktionSie können die Elementausdrücke separat erstellen und anschließend im Graph Builder-Ausdruck auswerten. In manchen Fällen ist es auch einfacher, << Element hinzufügen
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(Variables(X(:height), Y(:weight)), Elements(Points(X, Y), Smoother(X, Y)));
Wait(0.5);
gb << Add Element(1, 1, {Type("Line Of Fit"), X, Y, Degree("Quadratic")});Betreff: Graph Builder-Elementschleifenfunktionmein Diagramm soll so aussehen, muss ich die Position definieren?

Betreff: Graph Builder-ElementschleifenfunktionMit dem Add-Element können Sie die X- und Y-Position festlegen. Haben Sie ausprobiert, ob es für Ihren Anwendungsfall funktioniert?
Betreff: Graph Builder-ElementschleifenfunktionHallo Jarmo,
Versuchen Sie, den folgenden Code zu verwenden, aber zeigen Sie trotzdem nur das Boxplot an. Wie kann ich den Balken und die Beschriftung anzeigen?

Eval(
Substitute(
Expr(
gb = cdt << Graph Builder(
Size( 1200, 800 ),
Show Control Panel( 0 ),
vvv,
Elements(
Position( 1, 1 ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 3 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 4 ) )
)
);
// Loop to add repetitive elements
For( i = 2, i <= 10, i++,
gb << Add Elements(
Position( 2, i ),
Box Plot( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 2 * i + 1 ) ),
Bar( X, Y, Legend( 2 * i + 2 ), Bar Style( "Float" ), Label( "Label by Value" ), Label Format( "Fixed Dec", 5, 2 ) )
);
);
),
Expr( vvv ),
Name Expr( var expr )
)
);
Betreff: Graph Builder-ElementschleifenfunktionIch muss Beispieldaten erstellen (oder geeignete finden) und das Diagramm neu erstellen, daher wird es einige Zeit dauern
Betreff: Graph Builder-ElementschleifenfunktionIch sehe, dass sich alle Bilder völlig verändert haben. Ich bin mir nicht sicher, wie gut die bereitgestellten Skripte mit diesen neuen Bildern übereinstimmen. Welche Spalten müssten dynamisch hinzugefügt werden und wo?
Graph Builder-Skript hierfür

sieht ungefähr so aus
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:height), X(:sex), Y(:weight)),
Elements(
Position(1, 1),
Points(X, Y, Legend(5)),
Smoother(X, Y, Legend(6)),
Line Of Fit(X, Y, Legend(8))
),
Elements(
Position(2, 1),
Points(X, Y, Legend(18)),
Bar(X, Y, Legend(19), Bar Style("Float"), Label("Label by Value"))
)
);
Wenn Sie ein Diagramm wie dieses haben und Sie möchten Float Bar Chart auf der rechten Seite mit Punkten hinzufügen

Sie können das Element „add“ verwenden
gb << Add Element(2, 1, {Type("Bar"), X, Y, Bar Style("Float"), Label("Label by Value")});
Mehr anzeigen...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:height), X(:sex), Y(:weight)),
Elements(
Position(1, 1),
Points(X, Y, Legend(5)),
Smoother(X, Y, Legend(6)),
Line Of Fit(X, Y, Legend(8))
),
Elements(
Position(2, 1),
Points(X, Y, Legend(18))
)
);
gb << Add Element(2, 1, {Type("Bar"), X, Y, Bar Style("Float"), Label("Label by Value")});
Betreff: Graph Builder-ElementschleifenfunktionHallo Jarmo,
Danke für die Hilfe. Es könnte funktionieren, wenn es nur eine Y-Achse gibt. Was ich aber möchte, ist, dass ich, wenn es mehrere Y-Achsen gibt, trotzdem die Loop-Funktion verwenden kann, um das Element mit Boxplot und Balken zu erhalten? Ich habe es wie beim ersten versucht, aber es wurde nur ein Boxplot ohne Balken angezeigt.
Betreff: Graph Builder-ElementschleifenfunktionIch bin mir nicht sicher, was Sie darstellen, aber es könnte funktionieren (oder auch nicht). Hier verwende ich „Element hinzufügen“, um ein Balkendiagramm zur X-Achse 2 und zur Y-Achse 1 und 2 hinzuzufügen.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:height), X(:sex), Y(:name), Y(:weight)),
Elements(Position(1, 1), Points(X, Y, Legend(20))),
Elements(
Position(1, 2),
Points(X, Y, Legend(5)),
Smoother(X, Y, Legend(6)),
Line Of Fit(X, Y, Legend(8))
),
Elements(Position(2, 1), Points(X, Y, Legend(19))),
Elements(Position(2, 2), Points(X, Y, Legend(18)))
);
gb << Add Element(2, 1, {Type("Bar"), X, Y, Bar Style("Float"), Label("Label by Value")});
gb << Add Element(2, 2, {Type("Bar"), X, Y, Bar Style("Float"), Label("Label by Value")});

Betreff: Graph Builder-ElementschleifenfunktionEs funktioniert, und ich versuche es so.
Vielen Dank
Eval(
Substitute(
Expr(
gb = cdt << Graph Builder(
Size( 600, 800 ),
Show Control Panel( 0 ),
vvv,
Elements(Position( 1, 1 ),
Points( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 3 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Y( 3 ), Legend( 4 ) )
),
);
For( i = 1 , i <= n_mymetric , i++,
gb << Add Element(2, i, {Type("Bar"), X, Y, Bar Style("Float"), Label("Label by Value")});
),
),
Expr( vvv ),
Name Expr( var expr )
)
);