Il generatore di grafici non verrà ridimensionato automaticamenteCiao,
Sto avviando un generatore di grafici e un filtro dati da una dashboard. Il grafico è la data sull'asse x e il conteggio sull'asse y. Quando filtro la data, i dati al di fuori dell'intervallo di date scompaiono dal grafico, ma il grafico non ridimensiona automaticamente l'asse x in modo che corrisponda alle date all'interno dell'intervallo filtrato (invece, l'intervallo di date dell'asse x è lo stesso di prima di filtrare il intervallo di date).
So che posso aprire la tabella dei dati, quindi andare alle proprietà della colonna, quindi all'asse, quindi rimuovere il minimo e il massimo e quindi funziona, ma ho bisogno che la scalabilità automatica avvenga automaticamente.
Lo script del generatore di grafici è simile al seguente:
SPC = Open("C:\blahblahblah.csv", invisibile);
column(SPC,"blah")<
column(SPC,"blah2")<
plot_box=vlistbox(
SPC << Generatore di grafici(
Dimensioni ( 1372, 867 ),
Mostra pannello di controllo( 0 ),
Ricalcolo automatico( 1 ),
Allungamento automatico( 0 ),
Variabili (X( :Date time run ), Y( :blah ), Y( :blah2 ), Overlay( :blah3 ) ),
Elementi(
Posizione( 1, 1 ),
Punti (X, Y, Legenda ( 1 ), Jitter ( 1 ) ),
),
Elementi(
Posizione( 1, 2 ),
Punti (X, Y, Legenda ( 4 ), Jitter ( 1 ) ),
),
SendToReport(
Spedizione(
{},
"Data e ora scadute",
ScaleBox,
{Intervallo("Giorno"),
Inc( 3 ), tick minori( 1 ),
(poi un mucchio di linee di riferimento)
...
Qualcuno potrebbe consigliarmi per favore?
Grazie .
Re: Il generatore di grafici non scala automaticamenteCiao, l'unico modo in cui ho scoperto che Graph Builder manterrebbe le impostazioni della data dell'asse X che desidero e consentire il ridimensionamento con queste impostazioni al momento del filtraggio è cambiare la data in tipo di dati "ordinale"
Re: Il generatore di grafici non scala automaticamenteVedo un comportamento di ridimensionamento simile in JMP 14, utilizzando le linee di riferimento sull'asse x. In altre parole, sembra che JMP tenti di mantenere lo script o le righe di riferimento.Ecco un esempio di specifica delle linee di riferimento tramite JSL.
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 3092688000 ), Max( 3284668800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 ),
Add Ref Line( Informat("06Mar2003", "ddmonyyyy"), "Solid", "Gray", "", 1 ),
Add Ref Line( Informat("16Jul2006", "ddmonyyyy"), "Solid", "Black", "", 1 )}
)Se pubblichi un mock up su come aggiungere le linee di riferimento, posso mostrare uno script per aggiungere una casella di pulsanti per forzare il ridimensionamento. Non sarò in grado di testarlo, poiché non ho JMP 11, ma penso che funzionerà.
Re: Il generatore di grafici non scala automaticamenteGrazie per la risposta.
Stranamente, quando eseguo il blocco delle scale e lo sblocco delle scale, le date non vengono ridimensionate per gli intervalli di date al di fuori delle mie linee di riferimento (se provo a selezionare un intervallo di date che non include linee di riferimento, la data (asse x) lo fa non scala, ma i dati al di fuori di tale intervallo sono esclusi; se seleziono un intervallo di date che si trova all'interno del raggruppamento di linee di riferimento, le date (asse x) verranno ridimensionate). Ho JMP 11; forse questo è un bug in questa versione? O forse non avrei dovuto codificare nelle mie linee di riferimento? Non so come tracciare le linee di riferimento lungo l'asse x però...
Re: Il generatore di grafici non scala automaticamenteVedo lo stesso comportamento su GraphBuilder.Ho notato l'opzione Blocca le scale su GraphBuilder. Tuttavia, se specifico Lock Scales(0) quando viene creato GraphBuilder, l'asse x non viene ancora ridimensionato.Se dopo che il GraphBuilder è stato creato tu attiva Blocca scale e disattivalo, l'asse verrà ridimensionato, ma non avrà alcuna formattazione personalizzata dell'asse. L'esempio seguente usa yyyyQq. Lo script seguente verrà eseguito in JMP 12, 13 e 14.
Se hai JMP 14, rimuovi /* nella riga 52 ed esegui lo script.In JMP 14 è presente Data Filter Handler, uno script che viene eseguito quando il filtro viene modificato. Quindi, se hai un formato asse speciale, puoi specificarlo nel gestore.
Lock Scales(0) nella funzione di chiamata di GraphBuilder non sembra funzionare come descritto. Ma l'abilitazione e la disabilitazione sembrano funzionare.
Names Default to Here(1);
dt = Open("$sample_data/Australian Tourism.jmp");
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Show Legend( 0 ),
Lock Scales(0),
Variables(
X( :Date ),
Y( :Name( "Revenue ($'000)" ) ),
Y( :Name( "Bed occupancy rate (%)" ) ),
Y( :Name( "Average length of stay (days)" ) )
),
Elements(
Position( 1, 1 ),
Points( X, Y, Legend( 4 ) ),
Smoother( X, Y, Legend( 3 ) )
),
Elements(
Position( 1, 2 ),
Points( X, Y, Legend( 1 ) ),
Smoother( X, Y, Legend( 2 ) )
),
Elements(
Position( 1, 3 ),
Points( X, Y, Legend( 6 ) ),
Smoother( X, Y, Legend( 5 ) )
),
SendToReport(
Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ), Min( 2953282344.82759 ), Max( 3408220800 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "Tourism Trends" )} )
)
);
filter = gb << Local Data Filter(
Add Filter(
columns( :Year )
)
);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
/*
f = function({a},
print(a);
gb << Lock Scales(1);
wait(0);
gb << Lock Scales(0);
gb << Dispatch(
{},
"Date",
ScaleBox,
{Format( "yyyyQq", 6 ),
Interval( "Year" ), Inc( 1 ), Minor Ticks( 0 )}
);
);
rs = filter << Make Filter Change Handler( f );