Stört sonst noch jemand die Ausrichtung der Kontingenztabelle und des Mosaikdiagramms? Ich verwende sie nicht, aber einer unserer JMP-Benutzer wollte die Ausrichtung der Tabelle umdrehen, damit sie mit dem Mosaikdiagramm übereinstimmt. Habe herausgefunden, dass sowohl die Tabelle als auch das Mosaikdiagramm aktualisiert werden, wenn man X und Y vertauscht. Siehe Skript unten, um ein Beispiel auszuführen und sie nebeneinander zu vergleichen. Es scheint, Sie möchten, dass die Zahlen in der Tabelle mit den Zellen im Mosaikdiagramm übereinstimmen, um die Anzeige und Referenzierung zu erleichtern. Ich konnte keine früheren Diskussionen finden. Es scheint, dass die Kontingenztabelle nicht geändert werden kann, es ist eine CrossTabBox, die sich nicht zum Ändern eignet. Das Skript unten enthält im oberen Teil die Problemumgehung, die darin besteht, einen Klon der Tabelle zu erstellen, die beim Vertauschen von X und Y erstellt wurde, und diesen dann an das Mosaikdiagramm anzuhängen. Musste auch ein wenig mit der Wertereihenfolge arbeiten, um sie auszurichten. Wird zur JMP-Wunschliste hinzugefügt. Ich habe es auf dem JMP Discovery Summit 2018 mit dem EA-Labor und den Entwicklern besprochen.
Habe einige Beiträge zur Sprache R gefunden, in denen Sie das Argument dir() verwenden und die horizontale und vertikale Ausrichtung angeben können, während die „count“-Ausgabe in RStudio für die Ausrichtung gleich bleibt.
# Beispiel für ein R-Mosaikdiagramm – Richtungsänderung
getwd()
Mitarbeiter <- read.csv("Produkte.csv", TRUE, sep = ",",
na.strings = TRUE)
Anzahl <- Tabelle (Mitarbeiter$EnglishCountryRegionName,
Mitarbeiter$Farbe)
zählen
Mosaikplot (Anzahl, Haupt = "Länder-Mosaikplot",
sub = "Produktfarben nach Land",
xlab = "Farben",
ylab = "Länder",
las = 1,
dir = c("h", "v"),
Farbe = "himmelblau2",
Grenze = "Schokolade")
// For a contingency table report, swap the x and y
// currently can swap the mosaic plot only
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myr = Contingency( Y( :Age ), X( :sex ) );
// Have to have a Contingency Analysis report open
// Can add test to make sure it is open in the future
myr = Current Report();
// taking apart CrossTabBox was easier using XML than JSL
mys = myr["Contingency Table"][CrossTabBox(1)] << Get XML;
// get current X role or rows of contingency table
start = Contains(mys,"<CROSSTABBOXROWSLABEL>")+22;
end = Contains(mys,"</CROSSTABBOXROWSLABEL>");
newY = Substr(mys,start,end-start);
// get current Y role or cols of contingency table
start = Contains(mys,"<CROSSTABBOXCOLSLABEL>")+22;
end = Contains(mys,"</CROSSTABBOXCOLSLABEL>");
newX = Substr(mys,start,end-start);
// Recreate same contingency table but with X and Y flipped
// also temporarily use Value Order to match the Mosaic Plot
myValueLabels = Reverse(Associative Array(Column(dt,newX)) << Get Keys);
Column(dt,newX) << Set Property("Value Ordering",myValueLabels);
tempCont = Contingency( Y(Column(dt,newY) ), X(Column(dt,newX) ), Contingency Table );
tempContr = tempCont << Report;
mycopy = tempContr["Contingency Table"][CrossTabBox(1)] << Clone Box;
tempCont << Close Window;
Column(dt,newX) << Delete Property("Value Ordering");
// remove the original contingency table and replace with transpose
myr["Contingency Table"][CrossTabBox(1)] << Delete;
myr["Contingency Table"] << Append(mycopy);
// show original side by side
obj = Contingency( Y( :Age ), X( :sex ) );
Report(obj)["Contingency Table"] << Set Title("Contingency Table - Current output");
myr["Contingency Table"] << Set Title("Contingency Table - Wish List for JMP16");
Hallo @Vball247 , Danke für deinen Vorschlag! Wir haben Ihre Anfrage erfasst und werden sie prüfen.
Hallo Hegedus1. Toller Vorschlag! Aber ich musste noch einen Schritt tun. Wenn ich das Mosaikdiagramm erstelle, reicht die Y-Achse von 0 bis 1 oder Prozentsätzen, aber wenn ich auf die Y-Achse klicke, sind Minimum, Maximum und umgekehrte Reihenfolge für mich ausgegraut und es gibt keine Option zur Auswahl. Ich muss das „Horizontale Mosaik“ auswählen und dann Ihren Vorschlag umsetzen, der die Reihenfolge der einen kategorischen ändern kann, während die kumulative Achse in Ruhe bleibt. Das stimmt endlich mit der Tabelle darunter überein.
Contingency(
Y( :age ),
X( :sex ),
Contingency Table,
Horizontal Mosaic( 1 ), // swap the axes
SendToReport( Dispatch( {"Mosaic Plot"}, "1", ScaleBox, {Reversed Scale} ) ) // reverse the categories to match table
);
Es gibt eine einfachere Lösung.
Wählen Sie in der Y-Achse des Mosaikplots die umgekehrte Achse aus.
Mein Anliegen/Wunsch: Machen Sie diese Ausrichtung zu einer Option in den Notfallplattform-Einstellungen.