Il generatore di grafici non esegue la scalabilità automaticaCiao,
Sto lanciando un generatore di grafici e un filtro dati da una dashboard. Il grafico riporta 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 per far corrispondere le date all'interno dell'intervallo filtrato (invece, l'intervallo di date dell'asse x è lo stesso di prima del filtraggio intervallo di date).
So che posso aprire la tabella dati, quindi andare alle proprietà della colonna, quindi all'asse, quindi rimuovere il minimo e il massimo e poi 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);
colonna(SPC,"blah")<
colonna(SPC,"blah2")<
plot_box=vlistbox(
SPC << Costruttore di grafici(
Taglia( 1372, 867 ),
Mostra Pannello di controllo( 0 ),
Ricalcolo automatico( 1 ),
Allungamento automatico( 0 ),
Variabili( X( :Data e ora di esecuzione ), Y( :blah ), Y( :blah2 ), Sovrapposizione( :blah3 ) ),
Elementi(
Posizione( 1, 1 ),
Punti( X, Y, Legenda( 1 ), Jitter( 1 ) ),
),
Elementi(
Posizione (1, 2),
Punti( X, Y, Legenda( 4 ), Jitter( 1 ) ),
),
Invia al rapporto (
Spedizione(
{},
"Data e ora corrente",
ScaleBox,
{Intervallo( "Giorno" ),
Inc( 3 ), tick minori( 1 ),
(poi un mucchio di linee di riferimento)
...
Qualcuno potrebbe consigliarmi?
Grazie .
Re: Il generatore di grafici non si ridimensiona automaticamenteSalve, ho scoperto che l'unico modo in cui il Costruttore di grafici mantiene le impostazioni della data dell'asse X che desidero e consente il ridimensionamento con queste impostazioni dopo il filtraggio è modificare la data nel tipo di dati "ordinale"
Re: Il generatore di grafici non si ridimensiona automaticamenteVedo un comportamento di ridimensionamento simile in JMP 14, utilizzando linee di riferimento sull'asse x. In altre parole, sembra che JMP cerchi 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 modello su come aggiungi le linee di riferimento, posso mostrare uno script per aggiungere una casella di pulsanti per forzare il ridimensionamento. Non potrò testarlo, dato che non ho JMP 11, ma penso che funzionerà.
Re: Il generatore di grafici non si ridimensiona automaticamenteGrazie per la risposta.
Stranamente, quando eseguo le scale di blocco e di sblocco, 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 è un bug di questa versione? O forse non avrei dovuto codificare le mie linee di riferimento? Tuttavia non so come tracciare le linee di riferimento lungo l'asse x...
Re: Il generatore di grafici non si ridimensiona automaticamenteVedo lo stesso comportamento su GraphBuilder.Ho notato l'opzione Blocca scale su GraphBuilder. Tuttavia, se specifico Lock Scales(0) quando viene creato GraphBuilder, l'asse x continua a non essere ridimensionato.Se dopo che GraphBuilder è stato creato tu attiva Blocca scale e disattivalo, l'asse verrà ridimensionato, ma non avrà alcuna formattazione personalizzata dell'asse. L'esempio seguente utilizza aaaaQq. 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. Pertanto, se disponi di un formato asse speciale, puoi specificarlo nel gestore.
Lock Scales(0) nella funzione chiamante di GraphBuilder non sembra funzionare come descritto. Ma abilitare e disabilitare sembra 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 );