Ciao a tutti,
Ho una domanda. Se ho una tabella come quella sotto. Se traccio il TEMPO sull'asse X e raggruppo l'asse X per TIPO. Mostrerà tutti e cinque i valori sull'asse X per entrambi i gruppi, anche se non ci sono dati a riguardo. Utilizza inutilmente lo spazio del grafico. Un modo è che posso annidare l'asse X (TIME) con la colonna TYPE, ma funziona solo quando entrambe le colonne sono di tipo nominale. È un modo se entrambe le colonne sono di tipo diverso?
Grazie
| TEMPO | TIPO |
| 1-ott-2018 | CATTIVO |
| 2-OTTOBRE-2018 | CATTIVO |
| 3-OTT-2018 | CATTIVO |
| 1-GEN-2019 | BENE |
| 1-GEN-2019 | BENE |
Le piattaforme JMP funzionano così come sono scritte dagli sviluppatori JMP. Puoi apportare una modifica alla lista dei desideri e forse cambierà in futuro,
Non so come fare in modo che GraphBuilder faccia quello che penso tu voglia, a meno che non ristrutturi la tabella dei dati. GraphBuilder non anniderà diversi tipi di dati e X-Grouping utilizza la stessa scala X.Quindi l'unico modo per farlo è rendere l'ora (Tipo) di ciascun gruppo (variabile X) una propria colonna e trascinarli fianco a fianco.Di seguito è riportata una cattura del layout della tabella e di una tabella suddivisa ristrutturata: Dividi:Tempo per:Tipo raggruppando per:riga e mantenendo tutte le colonne.
Your specified table layout - Row # column addedYour specified table layout - Row # column addedIl layout della tabella specificato: riga n. colonna aggiunta
Date Split by Type, Grouped by row #Date Split by Type, Grouped by row # Data divisa per tipo, raggruppata per riga n.
Di seguito è riportato il GraphBuilder affiancato creato con la tabella oraria della tabella divisa

Ecco la sceneggiatura.
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 ) )
)
)
Ovviamente non è necessario ristrutturare, potresti creare nuove variabili tramite la trasformazione, una nuova variabile per ogni tipo, quindi trascinare le variabili trasformate sull'asse X, una accanto all'altra

Di seguito è riportato lo script salvato. Dividere il tavolo sarà la cosa più semplice se ci sono molti gruppi
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} )}
)
)
)Non devi aver capito la mia risposta:
- Trasforma il tempo in un personaggio,
- Utilizzare la colonna trasformata nel raggruppamento.
Il grafico incorporato nel mio post utilizzava il tuo esempio, con una variabile Y casuale.
Utilizzando l'interfaccia di GraphBuilder, fare clic con il tasto destro sulla colonna Ora e selezionare Formula e inserisci questa formula Formato( :ORA, "m/g/a" ) .Questo apparirà ora nel selettore di colonna come Trasforma[Tempo] . Trascinalo su X, quindi trascina la colonna Tipo in modo che Tempo sia nidificato all'interno di Tipo.