Guten Tag zusammen,
Ich wollte ein Diagramm erstellen, in dem die Punkte genau in jeden Box-Plot und den zugehörigen Violin-Plot fallen.
Mit dem Graph Builder habe ich festgestellt, dass die Punkte nicht innerhalb der Box ausgerichtet sind.
Hat jemand eine Idee, wie man das beheben kann?
Fotos hänge ich an.

Ziehen Sie sowohl die X-Spalte als auch die Overlay-Spalte auf die X-Achse, nehmen Sie dann die Overlay-Spalte und verschieben Sie sie in den Drop-Bereich Farbe.

Danke sehr,
Ich habe das Verfahren ausprobiert, aber es funktioniert nicht.
Ich möchte mehrere kontinuierliche Variablen gleichzeitig auf die x-Achse setzen und jede von ihnen wird durch 2 Gruppen geteilt. Auf der y-Achse habe ich keine Variablen.
Ziel ist es, alle Variablen zusammen darzustellen und jeweils mit zwei Gruppen zu vergleichen.
Wenn ich getan habe, was Sie mir geraten haben, kann ich nur jeweils eine Variable auf die y-Achse setzen, denn wenn ich alle Variablen zusammenfüge, würde das Problem erneut auftreten, dass die Punkte in den Box-Plots nicht ausgerichtet sind; während ich mehrere Variablen gleichzeitig möchte.
Giuseppe
Alles, was getan werden muss, um die Datentabelle so zu nehmen, wie Sie sie beschreiben, und sie an Graph Builder zu übergeben, um die gewünschte Anzeige zu erstellen, um die Daten zu stapeln und dann den Graph Builder auszuführen.Zur Veranschaulichung, gegeben die folgende Tabelle mit 4 kontinuierlichen Variablen (sie könnte so viele kontinuierliche Variablen wie nötig haben),

Man benutzt einfach
Tabellen=>Stapel
und stapelt alle fortlaufenden Säulen und sorgt auch dafür, dass die Gruppensäule mitgeführt wird

Ich habe auch die Spalte „Stacked Data“ in „Measurement“ und die Spalte „Source Label“ in „Variable“ umbenannt
Jetzt können die resultierenden Daten vom Graph Builder verwendet werden, um das gewünschte Diagramm zu erstellen

Unten sehen Sie ein Skript, das zuerst die Beispieldatentabelle aus einer der von JMP bereitgestellten Beispieldatentabellen erstellt, dann die Daten stapelt und schließlich mit Graph Builder das obige Diagramm erstellt
Names default to here(1);
// Create a sample data table that has multiple continuous variables with 2 groups
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
dt:Site << set name("Group");
dt << select where( :Group<=2 & :lot_id == "lot01" );
dt << invert row selection;
dt << delete rows;
dtSub = dt << Subset(
All rows,
columns( :Group, :NPN1, :NPN2, :NPN3, :NPN4 )
);
close(dt, nosave);
Wait(5); // Wait 5 seconds so one can see the initial data table
// Now just modify the data shape to set it up for Graph Builder to display the
// data as required
// First Stack all of the continuous variables into one column, and create a second
// column that indicates what column each row's value came from
dtStack = dtSub <<
Stack(
columns( :NPN1, :NPN2, :NPN3, :NPN4 ),
Source Label Column( "Variable" ),
Stacked Data Column( "Measurement" )
);
// Now graph the data placing the Variable and Group columns on the X axis and the
// Measurement column on the Y axis
// Also, remove the label from the Y axis
Graph Builder(
Size( 528, 458 ),
Show Control Panel( 0 ),
Variables(
X( :Variable ),
X( :Group, Position( 1 ) ),
Y( :Measurement ),
Color( :Group )
),
Elements(
Contour( X( 1 ), X( 2 ), Y, Legend( 14 ) ),
Box Plot( X( 1 ), X( 2 ), Y, Legend( 13 ) ),
Points( X( 1 ), X( 2 ), Y, Legend( 15 ) )
),
SendToReport(
Dispatch( {}, "Y title", TextEditBox, {Set Text( "" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg( Poly Seg( "Violin (NPN1>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN1>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN2>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN3>>2)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>1)" ), {Transparency( 0.5 )} ),
DispatchSeg( Poly Seg( "Violin (NPN4>>2)" ), {Transparency( 0.5 )} )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {14, [3, 4], 13, [0, 1, 2, -3], 15, [5, 6]} )}
)
)
);
VIELEN DANK,
Dank Ihrer wertvollen Ratschläge habe ich endlich das Ziel erreicht.
Im Nachhinein war die Lösung einfach, aber a priori hatte ich nicht über das nachgedacht, was Sie geschrieben haben. Ich frage Sie eine Kuriosität: Wissen Sie, wie man die hochgestellten und tiefgestellten Zeichen zu den Beschriftungen der Variablen auf der x-Achse oder den Ordinaten hinzufügt?
Mir fällt auf, dass JMP diese einfache, aber gängige Möglichkeit fehlt.
Dieser Mangel ist angesichts der Bedeutung von JMP eher ungewöhnlich.
Besten Wünsche
Giuseppe
JMP verwendet den Unicode-Zeichensatz, der spezielle unterstützt
Zeichen wie é und ½. Es speichert Dateien ohne speziellen Unicode
Zeichen automatisch als Klartext. Diese Option wird ausgewählt von
Ursprünglich.
Mit anderen Worten, wenn Sie solche speziellen Unicode-Zeichen in Ihre Datentabelle einfügen, werden sie angezeigt


Vielen Dank für Ihre Vorschläge.
Ich würde gerne wissen, wie man zum Beispiel Gruppenquadrate oder 2 als Indizes anzeigt.
Oder im vorherigen Beispiel die Höhe im Quadrat anzeigen.
Also im Allgemeinen, wie man die Achsenbeschriftungen mit hochgestellten oder tiefgestellten Zeichen anzeigt.
Wenn ich zum Beispiel BMI (Kg / m ^ 2) auf die Ordinatenachse geschrieben habe, wie sage ich JMP, dass "^ 2" quadratisch ist und das ^-Symbol vermeidet?
Besten Wünsche
JMP unterstützt die Unicode-Standards UTF-8 und UTF-16. Weitere Einzelheiten finden Sie im Skriptleitfaden.Es erlaubt einem, diese Sonderzeichen ohne besondere Handhabung einzubetten.
JMP kann solche Zeichen auch mit der Escape-Zeichenfolge „\!“ drucken. gefolgt von der Unicode-Zeichenfolge.Um das einzufügen, was Sie als Label angegeben haben, würde ich ein Skriptfenster öffnen und den folgenden Druckbefehl in das Fenster einfügen
print("BMI (Kg / m\!U00B2)");
Nachdem Sie diese Zeile ausgeführt haben, befindet sich Folgendes im Protokoll, das Sie dann ausschneiden und in das Etikett einfügen können
"BMI (Kg / m²)"
Ich wünschte, es gäbe einen direkteren Weg, aber mir ist keiner bekannt.Details zum vollständigen Unicode-Zeichensatz finden Sie im Scripting Guide
