Hallo allerseits,
Ich habe eine Frage. Wenn ich eine Tabelle wie unten habe. Wenn ich die ZEIT auf der X-Achse trage und die X-Achse nach TYP gruppiere. Es werden alle fünf Werte auf der X-Achse für beide Gruppen angezeigt, auch wenn dafür keine Daten vorliegen. Es beansprucht unnötigerweise den Grafikraum. Eine Möglichkeit besteht darin, dass ich die X-Achse (TIME) mit der Spalte TYPE verschachteln kann, aber das funktioniert nur, wenn beide Spalten vom Typ nominal sind. Ist das eine Möglichkeit, wenn beide Spalten unterschiedlichen Typs sind?
Danke
| ZEIT | TYP |
| 1. Okt. 2018 | SCHLECHT |
| 2. Okt. 2018 | SCHLECHT |
| 3. Okt. 2018 | SCHLECHT |
| 1. Januar 2019 | GUT |
| 1. Januar 2019 | GUT |
JMP-Plattformen funktionieren so, wie sie von den JMP-Entwicklern per Skript erstellt wurden. Sie können eine Wunschliste ändern, und vielleicht wird sie sich in Zukunft ändern.
Ich weiß nicht, wie ich GraphBuilder dazu bringen kann, das zu tun, was Sie meiner Meinung nach wollen, es sei denn, Sie strukturieren Ihre Datentabelle neu. GraphBuilder verschachtelt keine unterschiedlichen Datentypen und X-Grouping verwendet dieselbe X-Skala.Die einzige Möglichkeit, dies zu tun, besteht darin, die (Typ-)Zeit (X-Variable) jeder Gruppe zu einer eigenen Spalte zu machen und sie nebeneinander zu ziehen.Unten sehen Sie eine Erfassung Ihres Tabellenlayouts und eine neu strukturierte, geteilte Tabelle: Teilen Sie :Time nach :Type, gruppieren Sie nach :row und behalten Sie alle Spalten bei.
Your specified table layout - Row # column addedYour specified table layout - Row # column addedIhr angegebenes Tabellenlayout – Zeile Nr.-Spalte hinzugefügt
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row # Datum nach Typ aufgeteilt, nach Zeilennummer gruppiert
Unten sehen Sie den parallelen GraphBuilder, der mit der Split-Table-Zeittabelle erstellt wurde

Hier ist das Skript.
Graph Builder(
Variables( X( :BAD ), X( :GOOD ), Y( :y ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 21 ) ),
Smoother( X, Y, Legend( 22 ) )
)
)
Natürlich ist keine Umstrukturierung erforderlich. Sie können über die Transformation neue Variablen erstellen, eine neue Variable für jeden Typ, und dann die transformierten Variablen nebeneinander auf die X-Achse ziehen

Unten ist das gespeicherte Skript. Die Aufteilung der Tabelle ist am einfachsten, wenn viele Gruppen vorhanden sind
Graph Builder(
Size( 856, 534 ),
Show Control Panel( 0 ),
Variables(
X( Transform Column( "Bad[TIME]", Formula( If( :TYPE == "BAD", :TIME ) ) ) ),
X(
Transform Column(
"Good[TIME]",
Formula( If( :TYPE == "GOOD", :TIME ) )
)
),
Y( :y )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 17 ) ),
Smoother( X, Y, Legend( 18 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 19 ) ),
Smoother( X, Y, Legend( 20 ) )
),
SendToReport(
Dispatch( {}, "Bad[TIME]", ScaleBox, {Format( "m/d/y", 10 )} ),
Dispatch(
{},
"Good[TIME]",
ScaleBox,
{Format( "m/d/y", 10 ), Min( 3629059200 ), Max( 3629232000 ),
Interval( "Numeric" ), Inc( 17.28 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model( 17, Level Name( 0, "y Bad", Item ID( "y", 1 ) ) ),
Legend Model( 19, Level Name( 0, "y Good", Item ID( "y", 1 ) ) )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {17, [0], 18, [-1], 19, [1], 20, [-1]} ),
Position( {0, -1, 1, -1} )}
)
)
)