Ciao,
Ho questo script seguente per il grafico in cui l'incremento dell'asse x è 10, ma voglio aggiornare l'asse x in modo che l'incremento da 0 a 10 sia 1 e dopo quell'incremento dovrebbe essere 10 per il resto dell'asse. C'è un modo per aggiornare questo script per ottenere ciò?
Graph Builder(
Variables( X( :"Time (min)"n ), Y( :"A -024"n ) ),
Elements( Points( X, Y, Legend( 7 ) ), Smoother( X, Y, Legend( 8 ) ) ),
SendToReport(
Dispatch(
{},
"Time (min)",
ScaleBox,
{Format( "Best", 12 ), Min( 0 ), Max( 80 ), Inc( 10 ),
Minor Ticks( 1 )}
)
)
)Una cosa molto piccola che puoi aggiungere è nascondere quegli elementi "extra" della legenda. Fai doppio clic sulla legenda e deselezionali


Da notare che, a seconda dei dati, è necessario assicurarsi che sia evidente ai lettori che l'asse x sta cambiando, poiché potrebbe essere molto difficile individuarlo.
Ciao @billi ,
Certo, quindi nell'esempio che ho pubblicato ho utilizzato il file Big Class.jmp, che puoi trovare nel menu Aiuto > Indice degli esempi.
La prima cosa da fare è modificare le preferenze in modo che la spaziatura del grafico sia pari a zero e non semplicemente deselezionata (impostazione predefinita).
Questa volta, ho impostato la spaziatura del grafico su 0. L'ultima volta, ho semplicemente deselezionato la casella nelle preferenze (lasciando la linea verticale come prima), ma se la imposti effettivamente su 0, non c'è alcuna linea verticale che separa i grafici. Per arrivare alle preferenze, vai su File > Preferenze, seleziona Piattaforme e poi scorri verso il basso per selezionare Graph Builder:

Assicurarsi che la casella di controllo per la spaziatura del grafico sia selezionata, quindi impostare la spaziatura su 0.
Vai a Graph Builder, quindi puoi cliccare e trascinare le tue colonne sui rispettivi assi. Ecco qui con una sola colonna per ogni asse:

Se fai clic e trascini la stessa colonna per l'asse x e poi la sposti a destra dell'asse originale, in questo modo:

otterrai un grafico con la stessa curva su due assi. Fai doppio clic sull'asse sinistro e otterrai la finestra di impostazione dell'asse, questa è l'impostazione predefinita:

Cambia il valore Massimo per l'asse x a qualsiasi sia il tuo nuovo valore x2, in questo caso scelgo 60, e cambia il valore Incremento a qualsiasi valore tu voglia. In questo caso 1, quindi fai clic su OK:

e il tuo grafico ora apparirà così:

Farai qualcosa di simile per l'asse x di destra, ma modifica il Minimo con lo stesso valore che avevi prima per il Massimo sull'altro asse, in questo caso 60. Lascio il valore predefinito massimo come indicato e cambio l'Incremento a 10. Fai clic su OK.

Il grafico dovrebbe ora apparire così:

Per cambiare il colore del secondo grafico, fai clic con il pulsante destro del mouse sull'icona del marcatore (fai lo stesso per l'icona della linea) e seleziona il colore corretto in modo che sia uguale al grafico di sinistra:

Il grafico dovrebbe ora apparire così:

Di seguito è riportato il codice JSL salvato in una finestra di scripting che è stato utilizzato per generare il grafico soprastante
Graph Builder(
Graph Spacing( 0 ),
Variables( X( :height ), X( :height ), Y( :weight ) ),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 26 ) ),
Smoother( X, Y, Legend( 27 ) )
),
Elements(
Position( 2, 1 ),
Points( X, Y, Legend( 28 ) ),
Smoother( X, Y, Legend( 29 ) )
),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 50 ), Max( 60 ), Inc( 1 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"height",
ScaleBox( 2 ),
{Min( 60 ), Max( 70.76 ), Inc( 10 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
28,
Properties( 0, {Line Color( 5 )}, Item ID( "weight", 1 ) )
), Legend Model(
29,
Properties( 0, {Line Color( 5 )}, Item ID( "Smooth", 1 ) )
)}
)
)
);
Spero che questo ti sia utile.
Buona fortuna!,
S.S.
@SDF1 Grazie mille, questa soluzione funzionerà. Potresti spiegarmi i passaggi per creare il grafico che hai mostrato sopra o indicarmi della documentazione che posso cercare e che sarebbe molto utile?
Ciao @billi ,
Se ho capito bene la tua richiesta, vorresti avere un singolo asse x con due diversi valori di incremento, giusto? Dove una porzione dell'asse x, diciamo da x1 a x2 ha un incremento di 1 mentre da x2 a x3, l'incremento è 10?
Se è così, non credo che ci sia un modo per far sì che JMP utilizzi due valori di incremento diversi per lo stesso asse. Puoi comunque usare Graph Builder e "ingannarlo" per ottenere qualcosa di simile a quello che vuoi, ma con alcune stranezze grafiche non proprio ideali.
Ad esempio, sto usando il file Big Class.jmp e rappresento graficamente :weight vs :height, ma uso anche :height come secondo asse x. Rappresento graficamente il primo asse x da 50-60 e il secondo da 60-71 e imposto gli incrementi rispettivamente a 1 e 10. Otterrai un grafico simile a questo:

Quindi in un certo senso è possibile farlo, ma avrai due assi x e poi la sottile linea verticale che separa i due grafici (questo con la spaziatura del grafico impostata su 0). Potrebbe non essere esattamente ciò che stai cercando, ma è una soluzione che potrebbe funzionare.
Spero che questo aiuti!
S.S.