JSL-Stacked-Balkendiagramm für n SpaltenHallo,
Ich möchte ein Skript für ein gestapeltes Balkendiagramm aus einer Datentabelle erstellen, für die ich nicht weiß, wie die Spalten aussehen werden.
1. Hat eine Datentabelle mit den erforderlichen Spalten erstellt?
2. Fügen Sie einen Datenfilter hinzu, um die erforderlichen Zeilen auszuwählen und die übrigen auszuschließen
2. Es sollte ein gestapeltes Balkendiagramm aus den verfügbaren Zeilen für jede Spalte nach der ersten gegenüber der ersten Spalte erstellt werden.
3. Ich kenne die Spaltennamen und die genaue Anzahl außer der ersten Spalte nicht.
Ich habe ein gestapeltes Balkendiagramm für einen Datensatz erstellt und sieht wie folgt aus.
Ich habe das Skript aus dem Graph Builder kopiert und hier ist es, wie es aussieht.
Graph Builder(
Size( 500, 590 ),
Variables(
X( :BIBID ),
Y( :Name( "Row %(Fail, Column2)" ) ),
Y( :Name( "Row %(Fail, Column3)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column4)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column5)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column6)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column7)" ), Position( 1 ) ),
Y( :Name( "Row %(Fail, Column8)" ), Position( 1 ) )
),
Elements(
Bar(
X,
Y( 1 ),
Y( 2 ),
Y( 3 ),
Y( 4 ),
Y( 5 ),
Y( 6 ),
Y( 7 ),
Legend( 4 ),
Bar Style( "Stacked" )
)
)
);
Meine Frage ist, wie man die Variablen (Y) und Elemente (Y) unter Graph Builder über JSL parametrisiert.
Pass Fail BinPass Fail BinPass-Fail-Bin
Betreff: JSL-Stacked-Balkendiagramm für n SpaltenDie obige Zeile fügt nur das erste Variablendiagramm zum ppt hinzu.
Wenn Sie Folgendes hinzufügen, wird das gesamte Diagramm im ppt gespeichert.
vdb << append( _vlb );
vdb << Präsentation speichern( "C:\Benutzer\MT7575\Dokumente\analysis1.pptx", Anhängen); //Zeile hinzugefügtBetreff: JSL-Stacked-Balkendiagramm für n SpaltenHallo gzmorgan,
Vielen Dank für die Bereitstellung der Lösung.
Ich kann das Diagramm in ppt speichern, indem ich die folgende Zeile hinzufüge.
Danke,
Betreff: JSL-Stacked-Balkendiagramm für n Spalten" Es erstaunt mich immer wieder, wie viel 52 Zeilen JSL mit Kommentaren und Leerzeilen bewirken können. " - Absolut!
Betreff: JSL-Stacked-Balkendiagramm für n Spalten@mt7575 , beim Schreiben eines Drehbuchs gibt es viele Fragen, die beantwortet werden müssen; Soll es beispielsweise eine interaktive Anzeige sein oder soll ein Diagramm erstellt und als PNG gespeichert werden? zu einem Tagebuch? zu PPTX? Sie haben weder erwähnt, welche JMP-Version Sie verwenden, welches Betriebssystem Sie verwenden (es gibt einige Unterschiede in der MAC- und Windows-Syntax) noch den Grad Ihrer JSL-Kenntnisse. Wenn Sie über JSL oder eine andere Skriptsprache unterrichten oder schreiben, ist es am besten, wenn Sie „Ihre Werkzeuge kennen“, was eine andere Art auszudrücken bedeutet, dass Sie über einige Grundkenntnisse verfügen müssen, um ein Skript zu schreiben oder sogar zu verwalten, das jemand anderes für Sie schreibt.
Im Anhang ist ein Skript geschrieben, das für eine interaktive Anzeige geschrieben wurde, um auszuwählen, welche Elemente in X und welche Ys dargestellt werden sollen.Es verwendet die folgenden JSL-„Tools“. Für jedes aufgelistete Element, für das Sie kein Skript erstellt haben, sollten Sie Zeit in „Hilfe“ > „Skriptindex“ verbringen und die Skripts, Optionen und Meldungen erkunden.
- Schaukästen : FilterColSelector, ButtonBox, HListBox, VListBox, PanelBox, GraphBuilderBox
- Objekte : GraphBuilder, DataFilter, Ausdrücke, Datentabelle
Wenn Sie Ihre JSL-Kenntnisse nicht kennen, wird stattdessen eine Go-Schaltfläche mit einem angehängten Ausdruck verwendet, wenn eine dynamische „OnChange“-Funktion verwendet wird.
Ich habe ein wenig Zeit damit verbracht, dieses Skript zu schreiben, da in der Anzeigebox GraphBuilderBox die Dokumentation fehlt JSL Companion, 2. Auflage. ; Dieses Skript wird als Beispiel für einen Nachtrag zum Buch verwendet. Daher weiß ich, dass es manchmal schwierig ist, alle verfügbaren Tools zu erkennen. Es werden das Skript und eine Beispieldatentabelle verwendet. Das Skript hängt nur davon ab, dass die erste Spalte der Datentabelle immer X ist. Beachten Sie, dass Sie in der Anzeige „Umkehren“ aktivieren, um den Datenfilter als „Nicht verwenden“-Option zu verwenden.
Das Skript wurde auf JMP PRO 12, 13 und 14 unter Windows getestet.Es erstaunt mich immer wieder, wie viel 52 Zeilen JSL mit Kommentaren und Leerzeilen bewirken können.

Betreff: JSL-Stacked-Balkendiagramm für n SpaltenHallo ian_jmp,
Danke für die Antwort. Ich füge Beispieldaten bei, die der Diagrammersteller zum Zeichnen des gestapelten Balkendiagramms verwendet.

Table.jpg ist ein Screenshot mit Beispieldaten
JMP:
1. Ich habe einen Datenfilter angewendet, um die Zeilen auszuwählen, deren Spaltenname Fail enthält und einen Wert ungleich Null hat
2. Ich habe die ausgewählten Zeilen mit einem Diagrammersteller grafisch dargestellt, wobei der X-Wert BIB_ID und die Y-Werte alle Fehlerspalten sind
JSL:
Ich möchte die oben genannten Schritte parametrisieren
1. Es wird jedes Mal nur die Spalte BIB_ID geben
2. Nächste Spaltennamen oder Nr. Anzahl der Spalten ändert sich jedes Mal
Ziel:
1. Sie müssen JSL für die in Table.jpg genannten Datentypen schreiben, um ein gestapeltes Balkendiagramm zu erhalten, wie im vorherigen Beitrag angehängt.
Betreff: JSL-Stacked-Balkendiagramm für n SpaltenWenn Sie nach funktionierendem Code suchen, kann jeder Fall etwas anders sein. Einige Beispieldaten würden den Leuten helfen, Sie auf den richtigen Weg zu bringen.
Um den allgemeinen Ansatz zu verstehen, müssen Sie meiner Meinung nach die Aufgabe in zwei Schritte unterteilen, nämlich das Abrufen der Spalten und die anschließende Verwendung von Graph Builder. Für die erste benötigen Sie wahrscheinlich eine „ColListBox()“ (der Datenfilter funktioniert auf Zeilen, nicht auf Spalten). Suchen Sie danach unter „Hilfe > Skriptindex“. Da Graph Builder im zweiten Schritt sehr funktional und mit vielen Optionen ausgestattet ist, kann die erforderliche JSL etwas Pflege erfordern.