Titel für Graph Builder-Diagramme festlegenIch habe in JMP 18 ein Skript geschrieben, das mit „Graph Builder“, „Fit Group“ Liniendiagramme in 3er-Reihen erstellt. Im Grunde enthalten die Tabellen Messwerte für „Analyten“ in mehreren „Bioreaktoren“ über mehrere „Zeitpunkte“. In JMP 18 bekomme ich für jedes Diagramm einen Titel, aber ein Kollege, der JMP 17 verwendet, stellt fest, dass der Titel fehlt, was das Diagramm bedeutungslos macht. Ich bin völlig ratlos! Irgendwelche Vorschläge, wie ich einen Titel hinzufügen kann?
Hier ist das Skript:
newWindow = New Window(reportName, tb = Tab Box());
//loop through the dataTables and add tab page box for each with a local data filter for dilution factor on left, and line charts on the right
for( i = 1, i <= NItems(dataTables), i++,
tb << Add(
Tab Page Box(
Title(dataTables[i] << get name),
Data Filter Context Box(
H List Box(
dataTables[i] << Data Filter(
Local,
Add Filter( columns( :Dilution Factor, :Type ) ),
Mode( Select( 1 ), Show( 1 ), Include( 1 ) )
),
V List Box(
dataTables[i] << Fit Group(
Graph Builder(
Size( 300, 300 ),
Show Control Panel( 0 ),
Variables(
X( :Time point ),
Y( :"Mean(Value)"n ),
Overlay( :Vessel )
),
Elements( Line( X, Y, Legend( 20 ) ) ),
By( :Analyte )
),
<<{Arrange in Rows( 3 )}
)
)
)
)
)
)
);
tb << set selected(1);In JMP 17 the title highlighted with the red arrow is missing for each chart:
Automatisierung und SkriptingBetreff: Titel für Graph Builder-Diagramme festlegenUm seltsame Einstellungen in den Voreinstellungen auszuschließen, könnten Sie bitte die Ausgabe von: vergleichen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "test",
dt << Fit Group(
Graph Builder(
Ignore Platform Preferences(1), // next step: disable this line
Size( 300, 300 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Line( X, Y, ) ),
By( :age )
),
<<{Arrange in Rows( 3 )}
)
);
Nächster Schritt: Leitung deaktivieren und erneut prüfen.
Wenn mit dem Beispieldatensatz kein Problem vorliegt, müssen wir das Problem in Ihren Daten finden.
-> teilen möglich?
Betreff: Titel für Graph Builder-Diagramme festlegenIhr Datenfilter macht es in JMP17 kaputt
Names Default To Here( 1 );
dts = {};
Insert Into(dts, Open("$SAMPLE_DATA/Big Class.jmp"));
Insert Into(dts, Open("$SAMPLE_DATA/Big Class Families.jmp"));
nw = New Window("", tb = Tab Box());
For(i = 1, i <= N Items(dts), i++,
tb << Add(
Tab Page Box(Title(dts[i] << get name),
Data Filter Context Box(
H List Box(
/*dts[i] << Data Filter(
Local,
Add Filter(
columns(:sex)),
Mode(Select(1), Show(1), Include(1))
),*/
V List Box(
dts[i] << Fit Group(
Graph Builder(
Size(300, 300),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Line(X, Y, )), By(:age)
),
<<{Arrange in Rows(3)}
)
)
)
)
)
)
);
Wenn Sie << Fit Group verwenden möchten (ich bin nicht sicher, ob es verwendet werden sollte, da es nicht für den Graph Builder gedacht ist, obwohl es funktioniert), haben Sie einige Optionen: Korrigieren Sie die Titel nach der Erstellung oder erstellen Sie sie auf andere Weise).
Dies ist höchstwahrscheinlich nicht sehr robust, kann aber eine Vorstellung davon vermitteln, was Sie tun könnten (die Verwendung der Werte aus der Spalte, anstatt sich auf den Where-Ausdruck zu verlassen, ist höchstwahrscheinlich die robustere Option).
Names Default To Here( 1 );
dts = {};
Insert Into(dts, Open("$SAMPLE_DATA/Big Class.jmp"));
Insert Into(dts, Open("$SAMPLE_DATA/Big Class Families.jmp"));
nw = New Window("", tb = Tab Box());
For(i = 1, i <= N Items(dts), i++,
tb << Add(
Tab Page Box(Title(dts[i] << get name),
Data Filter Context Box(
H List Box(
dts[i] << Data Filter(
Local,
Add Filter(
columns(:sex)),
Mode(Select(1), Show(1), Include(1))
),
V List Box(
dts[i] << Fit Group(
Graph Builder(
Size(300, 300),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Line(X, Y, )), By(:age)
),
<<{Arrange in Rows(3)}
)
)
)
)
)
)
);
wait(0);
If(Word(1, JMP Version(), ".") == "17",
gb_obs = nw << XPath("//OutlineBox[@helpKey = 'Graph Builder']");
For Each({gb_ob}, gb_obs,
gb = gb_ob << Get Scriptable Object;
s = gb << get script;
w = Extract Expr(s, Where(Wild List()));
a = Substitute(Char(Arg(w, 1)), "==", "=");
gb << Title("Graph Builder " || Substr(a, 2))
);
);
Bearbeiten: Die Titel werden unterbrochen, wenn ein Datenfilter verwendet wird
Betreff: Titel für Graph Builder-Diagramme festlegenAm einfachsten ist es vielleicht, separate Methoden für verschiedene Versionen zu verwenden, da die Funktionsweise nach Spalten in JMP18 geändert wurde und nicht alle mit beiden funktionieren.
Names Default To Here( 1 );
dts = {};
Insert Into(dts, Open("$SAMPLE_DATA/Big Class.jmp"));
Insert Into(dts, Open("$SAMPLE_DATA/Big Class Families.jmp"));
nw = New Window("", tb = Tab Box());
For(i = 1, i <= N Items(dts), i++,
tb << Add(
Tab Page Box(Title(dts[i] << get name),
Data Filter Context Box(
H List Box(
dts[i] << Data Filter(
Local,
Add Filter(
columns(:sex)),
Mode(Select(1), Show(1), Include(1))
),
If(Word(1, JMP Version(), ".") == "17",
Lineup Box(N Col(3),
gb = Graph Builder(
Size(300, 300),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Line(X, Y, )), By(:age)
)
)
,
gb = Graph Builder(
Size(300, 300),
Group Options(Layout("Arrange in Rows", N Across(3))),
Show Control Panel(0),
Variables(X(:height), Y(:weight), Overlay(:sex)),
Elements(Line(X, Y, )), By(:age)
)
)
)
)
)
)
);
Wenn Ihre Benutzer die Möglichkeit haben sollen, die Anzahl der Elemente in jeder Zeile zu ändern, können Sie eine Gliederungsbox und ein Skript hinzufügen.
Betreff: Titel für Graph Builder-Diagramme festlegenWie @jthi anmerkt, ist der Datenfilter eine Quelle der Unterschiede. Die Art und Weise, wie Fit Group auf den Datenfilter reagiert, hat sich in JMP 18+ geändert.
Ein weiterer großer Unterschied zwischen JMP 17 und JMP 18 ist die Hinzufügung der Gruppenplattform für Nebengruppen. In JMP 18 verfügt diese neue Plattform über Layoutoptionen, die denen von Fit Group ähneln. In JMP 17 konnten Sie Fit Group durch eine Line Up Box für das Layout ersetzen. Wenn ich beides kombiniere, funktioniert dieses Skript für mich in beiden Fällen recht gut:
dataTables = EvalList({
Open("$SAMPLE_DATA/Big Class.jmp"),
Open("$SAMPLE_DATA/Big Class Families.jmp")
});
newWindow = New Window("Reports", tb = Tab Box());
//loop through the dataTables and add tab page box for each with a local data filter for dilution factor on left, and line charts on the right
for( i = 1, i <= NItems(dataTables), i++,
tb << Add(
Tab Page Box(
Title(dataTables[i] << get name),
Data Filter Context Box(
H List Box(
dataTables[i] << Data Filter(
Local,
Add Filter( columns( :sex ) )
),
V List Box(
Line Up Box(NCol(3),
dataTables[i] << Graph Builder(
Size( 300, 300 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y( :weight )
),
Elements( Line( X, Y, Legend( 20 ) ) ),
By( :age ),
Group Options( Layout( "Arrange in Rows", N Across( 3 ) ) )
)
)
)
)
)
)
)
);
tb << set selected(1);
Das Layout wird zwischen 17/18 unterschiedlich sein – in JMP 17 verwaltet die LineUpBox das Raster, während in JMP 18 die Group Platform das Layout verwaltet und die gesamte LineUpBox nur 1 untergeordnetes Element hat.
Ihre andere Möglichkeit könnte darin bestehen, die Wrap-Rolle im Graph Builder anstelle von By zu verwenden. Dadurch würden Sie jedoch gemeinsame Achsen und Legenden erhalten, was Sie möglicherweise nicht möchten.
-Und
Betreff: Titel für Graph Builder-Diagramme festlegenEine weitere Option: Lassen Sie den Kollegen auf JMP18.1 aktualisieren und die neue Seitenoption verwenden, die mit JMP18 eingeführt wurde:)
Bonus für ihn:
keine Probleme mehr mit Suchen – oder nicht finden?

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :weight ),
Page( :age, Levels per Row( 3 ) ),
Overlay( :sex )
),
Elements( Points( X, Y ), Smoother( X, Y ) )
);
Betreff: Titel für Graph Builder-Diagramme festlegenVielen Dank für Ihre Hilfe – es hat ein paar Tage gedauert, es in JMP 17 zu testen, aber es funktioniert einwandfrei.
Betreff: Titel für Graph Builder-Diagramme festlegenVielen Dank für diesen Vorschlag. Ich habe die Line Up Box sowohl für JMP 17 als auch für JMP 18 verwendet.