Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenIch versuche gerade, herauszufinden, wie man in JSL Linien und Pfeile in einem Diagramm zeichnet. Der Scripting Guide hat mir nicht viel geholfen, und auch in der Community habe ich bisher keine Beiträge gefunden. Ich habe mein JSL-Skript und die Datentabelle unten hochgeladen.
In der Datentabelle habe ich die Koordinaten für einen Einheitskreis in 5-Grad-Intervallen berechnet. Diese habe ich mit Graph Builder dargestellt...

Zunächst möchte ich einen Pfeil vom Ursprung zu jedem Punkt skripten. Hier ist das Skript, das ich verwende. Ich erhalte keine Fehlermeldungen, aber es zeichnet nie die Pfeile. Ich habe versucht, die FOR-Schleife wie hier gezeigt innerhalb des Graph Builder-Blocks und auch außerhalb des Blocks zu platzieren. Beides funktioniert nicht.
Names Default To Here (1);
dt = "Circle Arrow Data";
Graph Builder(
Size( 540, 540 ),
Graph Spacing( 10 ),
Spacing Borders( 1 ),
Variables( X( :x coord ), Y( :y coord ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
For( i=0, i<360, i+=5,
Arrow( {0,:x coord[i]}, {0, :y coord[i]})
)
);
Letztendlich ist es mein Ziel, dass die Pfeile nur dann angezeigt werden, wenn eine oder mehrere Zeilen ausgewählt sind. Natürlich muss ich das zuerst zum Laufen bringen. Eigentlich geht es darum, die Windrichtung in einem Diagramm anzuzeigen, aber ich versuche erst langsam, das Zeichnen in Diagrammen zu verstehen.
Vielen Dank im Voraus für alle Hinweise.
Automatisierung und SkriptingBetreff: Probleme beim Zeichnen von Linien und Pfeilen in Diagrammenausgezeichnetes Timing 
neu in JMP19:
Können Vektorfelddiagramme helfen, die Leistung im letzten Super Bowl zu erklären?

New Column( "x_0", Formula( 0 ));
New Column( "y_0", Formula( 0 ));
Graph Builder(
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) ),
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
Ordering( "Within Row" ),
Connection( "Arrow" )
)
)
);
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenHey @hogi, danke für das Skript. Es funktioniert super.
Ich versuche jedoch, es zu verstehen ... also ein paar Fragen.
1) Was macht der Positionsparameter?
2) Woher kommen die 1 und 2 in den Argumenten X und Y?
3) Was bewirkt die Sortierung („Innerhalb der Zeile“)?
Die Dokumentation zu diesen Funktionen in der Skripthilfe und im Skriptindex scheint sehr unvollständig zu sein.
Nochmals vielen Dank.
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenIch stimme zu, der Skriptindex ist nicht so gut wie die in anderen Programmen wie Mathematica oder Matlab oder der umfangreichen Online-Dokumentation für Python und C++. Es gibt einige Aktivitäten, um die Situation zu verbessern: Umfassender Skriptindex
Andererseits gibt es viele Dinge, die Sie durch praktisches Tun lernen können. Öffnen Sie einfach den Graph Builder und erstellen Sie Ihr Diagramm per Drag-and-Drop. Es dauert nur wenige Sekunden – und die Optimierung des Diagramms dauert weitere Sekunden. Klicken Sie anschließend auf „Skript in Datentabelle speichern“ und vergleichen Sie Ihre Ergebnisse mit dem, was Sie im Code finden.
- Die Zeilenreihenfolge ist eine neue Funktion in JMP19. Sie kann verwendet werden, wenn Koordinatensätze für X und Y verwendet werden.
und es ist die neue Standardoption für diesen Fall
[Hinweis: Das Diagramm ändert sich nicht, wenn ich die Option aktiviere]
- let's drag the coordinates into the plot, first x_0 and y_0
Variables( X( :x_0 ), Y( :y_0 ) ),
- then x_coord / y_coord
Variables( X( :x_0 ), X( :x coord, Position( 1 ) ), Y( :x_0 ), Y( :y coord, Position( 1 ) ) )
- now, we just have to activate the line plot. By default, it uses all available coordinated:
X(1) is x_0
X(2) is x_coord
Elements(
Line(
X( 1 ), X( 2 ),
Y( 1 ), Y( 2 ),
)
)
we can also deactivate variables via:
Dann reduziert sich der Code auf:
Elements(
Line( X( 1 ), Y( 1 ),
Diagramme mit Linien und Pfeilen, die mehrere Koordinaten verbinden: Eine große Verbesserung in JMP19.
Diagramme mit Linien und Pfeilen, die mehrere Koordinaten verbinden. Eine große Verbesserung in JMP19!
Stellen Sie sich vor, Sie möchten anstelle von Pfeilen drei Koordinatensätze (Punkte) in einem Diagramm darstellen. Dann müssen Sie dem Diagramm drei Punktdiagramme hinzufügen und die „anderen“ Koordinaten dreimal deaktivieren. Das funktioniert, ist aber chaotisch!

Stellen Sie sich vor, Sie wollten zehn Koordinatensätze aufzeichnen!
Ein logischer nächster Schritt wäre, die neue „innerhalb der Zeile“-Funktionalität auf Punktdiagramme zu kopieren.
Mehrere x- und y-Datensätze werden als „Paare“ dargestellt, ohne dass Spalten gestapelt werden müssen
Ich hoffe wirklich, dass diese Funktion bald implementiert wird!
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenDie Argumente 1 und 2 in den Funktionen X und Y entsprechen also einfach der Reihenfolge, in der sie in der Variablenfunktion aufgelistet sind? Verstehe ich das richtig?
Was macht dann die Position(1) in der Variablenfunktion? Es scheint, als würde dies die :x-Koordinate und die y:-Koordinate 1 und nicht x_0 y_0 ergeben.
Tut mir leid. Das ist für mich einfach ein bisschen verwirrend.
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenAhhh ... Also habe ich die Position (1) entfernt und das Skript ausgeführt. Das ist das Ergebnis ...

Die Art und Weise, wie die Variablen hinzugefügt werden, würde also zu vier separaten Diagrammen führen. Der Befehl „Position“ wählt aus, welches der Diagramme angezeigt werden soll.
Ich denke, das ist richtig ...
Ich werde noch ein bisschen damit herumspielen. Das wäre irgendwann ein tolles Tutorial-Video,
Vielen Dank für all Ihre Hilfe in dieser Angelegenheit
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in Diagrammen: )
Wie versprochen ist es wirklich einfach, aus den Skripten „durch Ausprobieren“ zu lernen!
Außerdem besteht eine gute Chance, dass das Gelernte auf diese Weise viel besser hängen bleibt.:)
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenJa, da stimme ich zu. Aber manchmal ist es trotzdem schwer zu verstehen, was los ist.
Ich habe beispielsweise Position(1) durch Position(2) ersetzt, weil ich dachte, es würde einen anderen Quadranten des Diagramms anzeigen. Aber ... es hat nichts bewirkt. Daher ist die 1 in Position(1) wahrscheinlich ein Boolescher Wert.
Ich kann dazu weder online noch im Skriptindex oder in der Online-Hilfe etwas finden. Vielleicht suche ich einfach an der falschen Stelle.
Auf jeden Fall nochmals vielen Dank.
Betreff: Probleme beim Zeichnen von Linien und Pfeilen in DiagrammenAnstatt zu versuchen, den Code zu schreiben und zu überprüfen, wie er funktioniert ...
Versuchen Sie den umgekehrten Ansatz:
Nachdem Sie im Graph Builder ein kompliziertes Diagramm erstellt haben, überprüfen Sie den Code und ziehen Sie Schlussfolgerungen:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Variables(
X( :height ),
Y( :name ),
Y( :weight ),
Y( :height, Position( 2 ) ),
Y( :age ),
Overlay( :sex )
),
Elements( Position( 1, 1 ), Points( X, Y ) ),
Elements(
Position( 1, 2 ),
Points( X, Y( 1 ), Y( 2 ), Legend( 1 ) ),
Smoother( X, Y( 1 ), Y( 2 ), Legend( 2 ) )
),
Elements( Position( 1, 3 ), Points( X, Y ) )
);
Wenn es nur zwei Elemente gibt, besteht kein Unterschied zwischen dem Hinzufügen eines zweiten Eintrags und dem Hinzufügen eines zweiten Eintrags als zweiter Eintrag .
Position(2) ist ab drei Elementen sinnvoll. Standardmäßig wird das dritte Element als drittes hinzugefügt. Wenn Sie etwas anderes tun möchten, können Sie es an Position(2) hinzufügen.