Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Kann mir jemand helfen herauszufinden, was ich hier falsch mache
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(Y))),
Elements(Line(X, Y, Legend(3), Connection("Curve")), Points(X, Y, Legend(4)))
)
Meine Linie wird glatter, ich möchte, dass sie alle Punkte mit einer Kurvenverbindung berührt. Ich habe das Diagramm über die JMP-Konsole erstellt und es hat gut funktioniert. Ich habe sogar das JSL aus dem Sitzungsskript kopiert, aber es stellt sich heraus, dass es glatter wird, wenn ich es über JSL laufen lasse.
Ich habe noch eine Frage: Der Glätter wird in einer kontinuierlichen numerischen Spalte gezeichnet. Ich dachte, vielleicht hätte es Auswirkungen, wenn man es in nominal ändert, und es wurde überhaupt nicht erstellt (weder Linie noch Glätter). Funktioniert die Linie nicht in einer numerischen Spalte vom Typ nominal?
Automatisierung und SkriptingGrundlegende Datenanalyse und ModellierungDatenexploration und -visualisierungBetreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Sie verwenden eine Kurvenverbindung und keine Linienverbindung, sodass Sie eine Glättung erhalten. Außerdem können möglicherweise nicht alle Punkte verbunden werden, wenn es viele Werte für dieselben X-Achsenwerte gibt, es sei denn, Sie aktivieren die Zeilenreihenfolge.
Ohne Zeilenreihenfolge

Mit Zeilenreihenfolge (ich habe die Daten zuerst nach Gewicht sortiert)

Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.
Dies ist, was ich erreiche, wenn ich Code verwende -.


Aber wenn ich manuell eine Zeile hinzufüge

Als nächstes ändere ich die Verbindung zur Kurve



Ich erreiche, was ich mir wünsche. Eine Kurve, die alle meine Punkte berührt.
Wie kann ich dies also über meinen Code erreichen?
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.„Glätter (mit Punkten)“ ist die Standardeinstellung für einige Spaltenauswahlen. Das könnte der Grund sein, warum JMP diese Option für Ihr Diagramm verwendet. Wie sieht das von JMP erstellte Skript aus, wenn Sie es aus der glatteren Version beziehen?
Für mich scheint das ok zu funktionieren.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 89, 60, 50, 40, 20, 10]))
);
gb = dt << Graph Builder(
Size(528, 454),
Show Control Panel(0),
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Das funktioniert bei mir nicht.
Ich habe es noch einmal versucht.
Ich habe keinen Glätter manuell erstellt. Ich habe eine Linie erstellt, ihr Punkte hinzugefügt und sie in eine Kurve geändert. Habe das Skript kopiert (dasselbe wie in der Beschreibung). Aber dasselbe Skript erstellt einen Glätter, keine Linie.
F: Was sehen Sie auf der linken Seite des Bedienfelds, wenn Sie Ihr Skript ausführen: Punkte und Linien? Oder Punkte und Glätter? Bei mir werden beim Ausführen meines Linienskripts Punkte und Glätter angezeigt.
Können Sie versuchen, Ihrem Code im Zickzack weitere Punkte hinzuzufügen und dann Ihr Skript auszuführen?
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Welche JMP-Version verwenden Sie? Ich verwende 18.1.2. Haben Sie versucht, mein Skript auszuführen? Können Sie Ihre Datentabelle bereitstellen?
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(10),
Compress File When Saved(1),
New Column("Column 1", Numeric, "Continuous", Format("Best", 12), Set Values([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])),
New Column("Column 2", Numeric, "Continuous", Format("Best", 12), Set Values([100, 80, 90, 60, 70, 40, 30, 35, 20, 10]))
);
gb = dt << Graph Builder(
Variables(X(:Column 1), Y(:Column 2)),
Elements(Points(X, Y, Legend(3)), Line(X, Y, Legend(6), Connection("Curve")))
);

Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Meine JMP-Version ist

Ich habe die Spalten umbenannt und auch die anderen Spalten außer X und Y gelöscht. Überprüfen Sie, ob das bei Ihnen funktioniert.
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Scheint gut zu sein?

Names Default To Here(1);
dt = Open("$DOWNLOADS/data_jmp.jmp");
gb = dt << Graph Builder(
Variables(X(:X), Y(:Y)),
Elements(Line(X, Y, Legend(5), Connection("Curve")), Points(X, Y, Legend(6)))
);Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Ja, dasselbe funktioniert bei mir einzeln, warum funktioniert es nicht in einer Schleife?:( . Was ist falsch . Kannst du dieses Skript einmal überprüfen -
createDashboard = Function({dtMaxF, dtMaxR, normMeanColsF, normMeanColsR, direction},
New Window(direction || " Dashboard",
Tab Box(
"Maximum Values",
V List Box(
For(i = 1, i <= N Items(normalizedColumns), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normalizedColumns[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
),
"Normalized Average Values",
V List Box(
For(i = 1, i <= N Items(normMeanColsF), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsF[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
),
For(i = 1, i <= N Items(normMeanColsR), i++,
Graph Builder(
Size(984, 563),
Show Control Panel(1),
Variables(X(:X), Y(As Column(normMeanColsR[i]))),
Elements(
Line(X, Y, Legend(5), Connection("Curve")),
Points(X, Y, Legend(6))
)
)
)
)
)
)
);
createDashboard(
dtMaxForward, dtMaxReverse, normalizedMeanColumns, normalizedMeanColumns, "Analysis"
);Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Wofür werden dtMaxF und dtMaxR in der Funktion verwendet? Woher kommen normalizedColumns für die Funktion?
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Ignorieren Sie dtMaxF, dtMaxR (ich werde dies aus dem Code entfernen). Ich füge das vollständige Skript an, damit Sie es analysieren können
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Beginnen Sie mit etwas ganz Kleinem. Sie können mit dem Skripten eines einzelnen Diagramms beginnen, wenn Ihre Tabellenerstellungen ordnungsgemäß funktionieren. Erweitern Sie es dann auf einige verschiedene Diagramme, möglicherweise aus verschiedenen Tabellen. Beim Plotten fehlen Ihnen Tabellenreferenzen und Ihre Formeln verhalten sich möglicherweise nicht wie erwartet ( Fügen Sie einen Ausdruck in einen anderen ein, indem Sie Eval Insert, Eval Expr, Parse und Substitute verwenden ).
Betreff: Die Linie wird glatter, wenn sie aus einem JSL-Skript erstellt wird.Okay, lass mich das versuchen. Ähm, bis jetzt funktionieren alle Formeln, aber lass mich das noch einmal überprüfen