Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheHallo – ich habe eine Tabellenkalkulation in Excel, die ein Diagramm mit mehreren Reihen ausgibt, die alle übereinander gestapelt und gegeneinander verschoben sind, aber auch zulässt, dass Replikate einen engeren Abstand haben, wie unten gezeigt:

Dies erfordert jedoch mehrere Blätter und erfordert jedes Mal eine etwas manuelle Wiederholung der Verschiebung sowie eine ständige Anpassung der Farben, da dies in Excel schwer zu kontrollieren ist. JMP wäre tausendmal einfacher.
Gibt es im Graph Builder (oder, um das XY-Problem zu vermeiden, irgendwo anders in JMP) eine Möglichkeit, dies per Drag & Drop zu erreichen? Selbst wenn Sie manuell an den erforderlichen Abständen herumbasteln müssen, würde die Drag-Bar-Funktion im Graph Builder dies erheblich vereinfachen. Ich scheine nicht in der Lage zu sein, es nachzubilden, aber vielleicht übersehe ich einfach etwas und dachte, ich frage mal.
Danke!
Automatisierung und SkripterstellungDatenexploration und -visualisierungErgebnisse teilen und kommunizierenWindowsBetreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheSie könnten eine Formelspalte auf der y-Achse verwenden, in der Sie Farbspalte × Skalierungsfaktor zu den ursprünglichen y-Werten hinzufügen.Betreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheSind die Replikate exakte Replikate voneinander?
Betreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheHallo @ehchandler ,
Hier ist ein JSL-Code, der einen Teil der Aufgabe erledigt: Er fügt ganz einfach jedem Spektrum einen festen Versatz hinzu und fügt jedem weiteren Spektrum den gleichen Betrag hinzu. Für das erste Spektrum gibt es also keinen Offset, aber jedes weitere Spektrum erhält einen Offset von n*5000, in meinem Fall habe ich 500 verwendet – ich habe die Beispieldatentabelle NMR DoE.jmp verwendet und sie transponiert, um Spalten zu erhalten von Spektren, was bedeutet, dass ich vermute, wie Ihre Datentabelle strukturiert ist, und nicht Zeilen als Spektren und Spalten als Wellenlängen. Auf jeden Fall sollten Sie in der Lage sein, diesen Code so zu ändern, dass er für Ihre Datenstruktur und Datentabellen am besten funktioniert. Ich füge den Code und die geänderte Beispieldatentabelle bei, damit Sie sie sehen können. Hier sind die Ergebnisse. Sie können dann manuell hineingehen und den Offset für alle Replikate oder spezifischen Spektren bearbeiten, die Sie benötigen.
Das obere Diagramm ist ohne Offset und das untere Diagramm mit Offset. Die Farbcodierung erfolgt automatisch durch JMP.

Hier ist der Code:
Names Default To Here( 1 );
dt = Current Data Table(); //assigns current data table to variable dt
ColNames = dt << Get Column Names; //gets a list of column names
offset = 5000;
//This generates a new column for each spectra with the column name + Offset to it
For( i = 2, i <= N Items( ColNames ), i++,
If( i == 2,
offset = 0, // no offset for the first spectrum
offset = 5000 //offset amount for each additional spectrum
);
Eval( Eval Expr( dt << New Column( Colnames[i] || " Offset", Formula( Expr( As Name( ColNames[i] ) ) + (Expr( (i - 2) * offset )) ) ) ) ); //the (i-2) is so the second spectrum is offset only by 5000 and not 10000
);
Ein langsamer, aber sicherer Weg wäre, neue Spalten zu erstellen und die Formel für jede Spalte manuell zu generieren, aber es würde genauso funktionieren.
Hoffe das hilft!,
DS
Betreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede Reihe@txnelson In meinem Fall habe ich ungefähr 50 Variablen, die ich zur Definition der Reihe von Reihen verwenden könnte. Die beiden auf dem Bild, das ich geteilt habe, sind meiner Meinung nach echte Nachbildungen, aber was ich suche, würde nicht erfordern, dass zwei ganze Reihen identisch sind, um übereinzustimmen.
Ich schätze, wenn ich es entwerfen müsste, hätte es vielleicht ein Dropdown-Feld für eine „Serien“-Variable, um zu testen, ob eine Serie übereinstimmen sollte (und näher angezeigt werden sollte oder nicht). Ich nehme an, dass diese Reihenvariable auch die Möglichkeit haben sollte, die Punkte einzufärben, die Größe zu ändern oder etwas anderes. Und dann vielleicht ein Schieberegler zum Anpassen des Skalierungsfaktors @hogi wegen der Kluft zwischen den beiden erwähnt.
Ich bin mir ziemlich sicher, dass das, was ich gerade beschrieben habe, derzeit in JMP nicht möglich ist, also ... XY-Problem mit der Wunschliste, die ich gerade angegeben habe, aber hoffentlich klärt das, wonach ich suche, und vielleicht gibt es eine GUI-Möglichkeit, dies zu tun? Wenn nicht, @hogi Die Methode würde funktionieren.
Betreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheOh, interessant. Ja, das würde reichen, obwohl es sich weniger um eine Graph Builder-Lösung handelt. Ich frage mich, ob es eine Möglichkeit gibt, die Farbserie und den Skalierungsfaktor dynamisch auszuwählen, basierend auf der Variablen *series*, die jmp mitteilt, welche Zeilen in welcher Serie sind. Hmmmmmm. Darüber muss ich nachdenken.
Betreff: Graph Builder: So erstellen Sie gestapelte Diagramme mit einer gewissen Verschiebung für jede ReiheHallo @ehchandler ,
Soweit ich weiß, gibt es keine dynamische Möglichkeit (dh mit Graph Builder allein), Offset-Spektren wie gewünscht zu erstellen, außer manuell neue Spaltenformeln zu erstellen, die die gewünschte Spalte nehmen und einen festen Offset hinzufügen. Aber genau das macht mein Skript automatisiert, wodurch Sie viel Zeit sparen. Wenn Sie dies tatsächlich häufig und wiederholt tun, würde ich die Erstellung von Skripten mit JSL in Betracht ziehen, um dies automatisiert für Sie zu erledigen. Sie sparen eine Menge Zeit gegenüber der dynamischen Manipulation des Diagramms. Manchmal ist es notwendig, eine Analyse oder ein Diagramm zunächst dynamisch einzurichten, um zu lernen, wie man ein Skript erstellt. Sobald Sie es jedoch haben und andere Datentabellen darauf anwenden können, geht es viel schneller, wenn JSL-Code dies für Sie erledigt.Mithilfe von Skripten können Sie jedem Spektrum eine bestimmte Farbe zuweisen, und zwar basierend auf der Spaltennummer in der Datentabelle, zum Beispiel:
Entsprechend der JMP JSL Scripting Guide v16 , S. 660-662, die Standard-JMP-Farbschemata sind:

Und dann kann jede dieser Farben nachträglich geändert werden, indem man sie hell, mittelhell, mitteldunkel und dunkel macht:

Wenn Sie das globale Farbschema ändern möchten, können Sie unter „Datei“ > „Einstellungen“ oben (links) „Diagramme“ auswählen und dann unten rechts auf das Farbschema „Kategorisch“ klicken.

Sie erhalten dann einen Bildschirm wie diesen. Wenn ich beispielsweise den unteren Chromatischen Stil wähle und erneut die Spektren zeichne, sieht das so aus (die Reihenfolge kann auch umgekehrt werden):


Der einzige Nachteil dieser Methode besteht darin, dass dies jetzt das globale Farbschema für alle Diagramme in JMP ist, nicht nur für das, an dem Sie gerade arbeiten. Sie können jederzeit zurückgehen und es in den Einstellungen ändern, wenn Sie möchten.
Sobald das Diagramm Ihren Wünschen entspricht, können Sie jederzeit mit der rechten Maustaste auf ein Spektrum Ihrer Wahl klicken, dann „Linienfarbe“ auswählen und eine beliebige angezeigte voreingestellte Farbe oder sogar „Andere“ aus einer größeren Farbpalette auswählen. Dies kann jedoch langsam sein, wenn Sie viele Spektren haben.

Es gibt viele Möglichkeiten, die gleichen Dinge in JMP zu erreichen, was großartig ist, und es hängt irgendwie von Ihren spezifischen Anforderungen und Ihrem Endziel ab, welche Methode möglicherweise besser funktioniert.
Hoffe das hilft!,
DS