Boxplot mit im Kasten ausgerichteten Punkten plus GeigenplotGuten Tag alle,
Ich wollte ein Diagramm erstellen, in dem die Punkte genau in jedes Boxplot und das zugehörige Violinplot fallen.
Als ich den Graph Builder benutzte, stellte ich fest, dass die Punkte nicht innerhalb der Box ausgerichtet waren.
Hat jemand eine Idee, wie man das beheben kann?
Ich füge Fotos bei.

MassenanpassungBetreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotWenn Sie Windows verwenden, finden Sie diese auch in der Zeichentabelle:

Es besteht auch die Möglichkeit, zu diesem Zweck ein Add-In bzw. eine benutzerdefinierte Funktion zu erstellen. Das wäre zwar nicht perfekt, könnte aber hilfreich sein? Hier ist ein kurzes Beispiel einer möglichen Funktion (ich würde sie robuster machen, wenn ich eine erstellen würde):
Names Default To Here(1);
replace_str = Function({str}, {Default Local},
aa_unicode = Associative Array();
aa_unicode["\sigma"] = "\!U03C3";
aa_unicode["\mu"] = "\!U03BC";
aa_unicode["\subscript1"] = "\!U2081";
aa_unicode["\subscript2"] = "\!U00B2";
aa_unicode["\subscript3"] = "\!U00B3";
aa_unicode["\subscript4"] = "\!U2074";
return(Substitute(str, aa_unicode << get keys, aa_unicode << get values));
);
dt = New Table("Untitled 3",
Add Rows(0),
New Column("kg/m\subscript2"),
New Column("\sigma*\mu"),
New Column("\subscript1\subscript3")
);
wait(2);
For Each({col_name}, dt << Get Column Names(String),
Column(dt, col_name) << Set Name(replace_str(col_name));
);
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotVIELEN, VIELEN, VIELEN DANK
Giuseppe
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotIch habe die Codes auf Wikipedia gefunden
print("18F-FDG\!U00B9\!U2078");
"18F-FDG¹⁸"
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotLieber Mark,
Schade, dass es in Software wie JMP diese zeitraubenden Probleme gibt.
Es wäre eine großartige Lösung, einige Artikel zu veröffentlichen, die es Ihnen ermöglichen, die Zeit zu verkürzen.
Giuseppe
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotVIELEN DANK,
sehr nützlicher und entscheidender Rat.
Besten Wünsche
Giuseppe
PS 18F-FDG mit 18 als Exponent im Unicode. Ich kann die Lösung nicht finden. Weißt du, wie man es macht?
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotEs wäre schön, eine direktere Möglichkeit zur Eingabe von Sonderzeichen zu haben. Im Moment behalte ich ein Skript mit kommentierten Zeichenfolgen für die Symbole, die ich häufig verwende. Das spart ein wenig Aufwand.
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotJMP unterstützt sowohl die Unicode-Standards UTF-8 als auch UTF-16. Weitere Einzelheiten finden Sie im Scripting-Handbuch.Es ermöglicht die Einbettung dieser Sonderzeichen ohne besondere Behandlung.
JMP kann solche Zeichen auch mit der Escape-Zeichenfolge „\!“ drucken. gefolgt von der Unicode-Zeichenfolge.Um also das einzuschließen, was Sie als Etikett 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, wird Folgendes im Protokoll angezeigt, 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.Einzelheiten zum vollständigen Unicode-Zeichensatz finden Sie im Scripting Guide

Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotVielen Dank für Ihre Vorschläge.
Ich würde gerne wissen, wie man zum Beispiel Gruppenquadrat oder 2 als Indizes anzeigt.
Oder im vorherigen Beispiel: Anzeigehöhe im Quadrat.
Also im Allgemeinen, wie die Achsenbeschriftungen mit hochgestellten oder tiefgestellten Zeichen angezeigt werden.
Wenn ich zum Beispiel BMI (Kg/m ^ 2) auf die Ordinatenachse geschrieben habe, wie kann ich JMP mitteilen, dass „^ 2“ quadriert ist und das Symbol ^ vermeide?
Besten Wünsche
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotJMP verwendet den Unicode-Zeichensatz, der Sonderzeichen unterstützt
Zeichen wie é und ½. Es speichert Dateien ohne speziellen Unicode
Zeichen automatisch als Klartext. Diese Option wird ausgewählt von
Standard.
Mit anderen Worten: Wenn Sie solche speziellen Unicode-Zeichen in Ihre Datentabelle einfügen, werden sie angezeigt


Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotVIELEN 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 darüber nachgedacht, was Sie geschrieben haben. Ich frage Sie aus Neugier: Wissen Sie, wie man die Beschriftungen der Variablen auf der x-Achse oder der Ordinate hoch- und tiefgestellt setzt?
Mir ist aufgefallen, dass JMP diese einfache, aber übliche Möglichkeit fehlt.
Dieser Mangel ist angesichts der Bedeutung von JMP eher ungewöhnlich.
Besten Wünsche
Giuseppe
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotAlles, was Sie tun müssen, ist, die Datentabelle so zu nehmen, wie Sie sie beschreiben, und sie an Graph Builder zu übergeben, um die Anzeige zu erstellen, in der die Daten gestapelt werden sollen, und dann den Graph Builder auszuführen.Zur Veranschaulichung, anhand der folgenden Tabelle mit 4 kontinuierlichen Variablen (es könnten so viele kontinuierliche Variablen wie nötig sein):

Man nutzt einfach
Tabellen=>Stapel
und stapelt alle fortlaufenden Spalten und stellt außerdem sicher, dass die Gruppenspalte ebenfalls mitgeführt wird

Außerdem habe ich die Spalte „Gestapelte Daten“ in „Messung“ und die Spalte „Quellenbeschriftung“ in „Variable“ umbenannt
Nun können die resultierenden Daten vom Graph Builder verwendet werden, um das gewünschte Diagramm zu erstellen

Unten sehen Sie ein Skript, das zunächst 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]} )}
)
)
);
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotVielen Dank,
Ich habe das Verfahren ausprobiert, aber es funktioniert nicht.
Ich möchte mehrere kontinuierliche Variablen gleichzeitig auf der x-Achse platzieren und jede davon durch 2 Gruppen teilen. Auf der y-Achse habe ich keine Variablen.
Ziel ist es, alle Variablen zusammen darzustellen und jeweils mit zwei Gruppen zu vergleichen.
Wenn ich tun würde, was Sie mir geraten haben, kann ich jeweils nur eine Variable auf der y-Achse platzieren, denn wenn ich alle Variablen zusammenfüge, würde erneut das Problem auftreten, dass die Punkte in den Boxplots nicht übereinstimmen. während ich mehrere Variablen gleichzeitig möchte.
Giuseppe
Betreff: Boxplot mit in Box ausgerichteten Punkten plus GeigenplotZiehen 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 Farbablagebereich.
