Lollipop-GrafikIst es über GraphBuilder möglich, ein Lollipop-Plot zu erstellen? Siehe Beispiel, das ich gepostet habe. Ich weiß, dass Sie etwas Ähnliches erhalten können, wenn Sie sich Zeitreihendaten ansehen (unter der Zeitreihenplattform). Die Kontrollkarte tut dies fast auch, aber sie soll offensichtlich für andere Arten von Analysen verwendet werden, und die Linien werden nicht direkt unter den Punkten gezeichnet. Was ich möchte, ist, dass über oder unter dem gezeichneten Punkt eine Linie gezogen wird, die ihn mit dem Mittelwert verbindet (um die Abweichung vom Mittelwert hervorzuheben). Ich habe das Gefühl, dass alle Elemente für eine solche Handlung vorhanden sind!

GrafikBetreff: Lollipop-GrafikDanke.Betreff: Lollipop-GrafikDie Meldung „<Betreff: Lollipop-GrafikWenn ich dies unter v13.2.1 ausführe, sind die Lutschermarkierungen sehr klein. So klein, dass die eingebettete Zahl nicht sichtbar ist. Wie kann ich die Markierungen vergrößern?Betreff: Lollipop-Grafik
Nett! Sie können die Markierungssegmente wahrscheinlich so anordnen, dass die Zahlen über den Kreisen gezeichnet werden. Und Sie können die Zahlen möglicherweise auch zu Markierungen machen (UseForMarker-Attribut für eine Spalte). Das würde die Zahl im Kreis zentrieren. Das Vermeiden der JSL in meinem Beispiel wäre eine gute Wahl; Es ist ziemlich langsam, ein Diagramm zu erstellen und ein Bild für jeden Datenpunkt aufzunehmen.
Betreff: Lollipop-GrafikSie können dies tatsächlich interaktiv (wenn auch weniger schön) reproduzieren, indem Sie die Markergröße erhöhen, nach Höhe beschriften und dann die Markertransparenz verringern (ich habe sie halbiert). In diesem Beispiel habe ich nur nach Geschlecht gefärbt.
Das einzige Problem, das ich sehen kann, ist, dass Sie, wenn Sie die Symbolgrößen mit etwas skalieren möchten (wie dem Alter in diesem zweiten Beispiel) UND die Beschriftungen (in diesem Beispiel für die Höhe) haben möchten, die Beschriftungen möglicherweise manuell verschieben müssen so dass sie nicht an einen seltsamen Ort fallen (siehe zweites Diagramm, in diesem Fall habe ich die Position von Clay und Dannys Etiketten manuell geändert). Es könnte jedoch eine Problemumgehung geben (ich habe versucht, mit den Markierungsgrößenoptionen herumzuspielen, und bin gescheitert).
Betreff: Lollipop-GrafikLiebe es!
Betreff: Lollipop-GrafikEin weiterer Ansatz, der mehr JSL für benutzerdefinierte Markierungen erfordert.
Using an image for the marker. Use As Marker will show up in other graphs.Using an image for the marker. Use As Marker will show up in other graphs.Verwenden eines Bildes für die Markierung. Als Markierung verwenden wird in anderen Diagrammen angezeigt.
Es gibt zwei Roberts in der großen Klasse; die Nadel ist der Durchschnitt. Die Punkte werden für beide angezeigt.
dt = Open( "$sample_data/big class.jmp" );
dt << New Column( "height-mean", formula( height - Col Mean( height ) ) );
dt << Color by Column( :Age );
// build the floating round marker...
dt << New Column( "marker",
expression,
formula(
box = (Graph Box(
// make a small drawing space 100x100 pixels, scaled from -1 to 1. Black background becomes transparent below
framesize( 100, 100 ), X Scale( -1, 1 ), Y Scale( -1, 1 ), <<BACKGROUNDCOLOR></BACKGROUNDCOLOR>
Betreff: Lollipop-GrafikJim,
Wow, vielen Dank. Genau das wollte ich. Ich habe nicht einmal daran gedacht, ein "Nadel"-Balkendiagramm mit einem "mittleren" Punkt darauf zu integrieren, aber für diejenigen, die das alles über GraphBuilder (dh ohne Skripting) machen wollen, ist das so. Wenn Sie die Größe der Punkte zusätzlich interaktiv im Verhältnis zur interessierenden Antwortvariable anpassen möchten, ziehen Sie den Parameter einfach in die Ablagezone „Größe“ in GraphBuilder. Als zusätzliches Beispiel füge ich meinen ersten Lollipop-Plot bei. Vielen Dank und hoffentlich hilft dies anderen, die über diesen Beitrag gestolpert sind.
Betreff: Lollipop-GrafikHier ist ein Diagramm, das die Big Class-Datentabelle verwendet, mit einer hinzugefügten Spalte, die positive und negative Zufallswerte enthält.

Und hier ist das Drehbuch
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables(
X( :age, Order By( :Column 6, Descending, Order Statistic( "Mean" ) ) ),
Y( :Column 6 ),
Color( :age )
),
Elements(
Points( X, Y, Legend( 5 ), Summary Statistic( "Mean" ) ),
Bar( X, Y, Legend( 6 ), Bar Style( "Needle" ) )
),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
5,
Properties( 0, {Marker Size( 20 )}, Item ID( "12", 1 ) ),
Properties( 1, {Marker Size( 20 )}, Item ID( "13", 1 ) ),
Properties( 2, {Marker Size( 20 )}, Item ID( "14", 1 ) ),
Properties( 3, {Marker Size( 20 )}, Item ID( "15", 1 ) ),
Properties( 4, {Marker Size( 20 )}, Item ID( "16", 1 ) ),
Properties( 5, {Marker Size( 29 )}, Item ID( "17", 1 ) ),
Properties( -1, {Marker Size( 20 )}, Item ID( "Mean", 1 ) )
)}
)
)
);