Carissimi,
Sto cercando un modo per migliorare il layout dei miei grafici riorganizzando ciò che ho creato con il costruttore di grafici. Ora ho 9 piccoli grafici uno sotto l'altro, utilizzando l'opzione "Pagina". Quello che vorrei, è averli disposti 3X3 in quanto sembra molto più bello (una specie di display a traliccio). So che puoi ottenerlo utilizzando il pulsante "Avvolgi", ma in tal caso tutti gli assi sono impostati allo stesso modo, il che non è un'opzione poiché la variabile di raggruppamento che utilizzo per "Pagina" si riferisce a parametri con unità molto diverse e ordini molto diversi di grandezza…. In modo simile neanche il "gruppo X" o il "gruppo Y" funzionerebbero. Ho provato a inviare i grafici a una rivista ea riordinarli manualmente, ma non riesco ad incollare bene i grafici accanto a un altro.
Non sono sicuro se avrei bisogno di scrivere uno script per questo, per assicurarmi che il rapporto sia strutturato utilizzando "immagini/caselle di visualizzazione" o giù di lì, ma il problema è che, ogni volta che salvo lo script per il mio costruttore di grafici e poi lo rieseguo, il grafico non viene mostrato, solo gli assi sono... Quindi il modo più semplice (penso) è creare prima il grafico nel generatore di grafici, inviarlo a un diario e quindi riorganizzare il diario. Giusto?
Qualche idea su come affrontare questo problema?
Grazie molto!!
Yanne
Potresti creare singoli grafici e poi metterli insieme in una finestra.Se mostri sempre gli stessi 9 grafici, lo script seguente potrebbe essere tutto ciò di cui hai bisogno; se i livelli cambiano puoi costruire la gerarchia delle finestre con un ciclo.
Names default to here( 1 );
//Open sample data and create a binning column
dt = Open("$SAMPLE_DATA/Body Fat.jmp");
dt << New Column( "Age (decades)",
Numeric,
Nominal,
Format( "Best", 10 ),
Formula( 10 * Floor( :Name( "Age (years)" ) / 10 ) )
);
//function to build each individual graph with a local data filter
GraphDecade = function({decade},
gb = dt << Graph Builder(
Size( 300, 300 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Name( "Age (years)" ) ) ),
Elements( Histogram( X, Legend( 5 ) ) ),
SendToReport( Dispatch( {},
"Graph Builder",
OutlineBox,
{Set Title( "Decade: " || Char( decade ) )} )
),
Local Data Filter(
Close Outline( 1 ),
Add Filter(
columns( :Name( "Age (decades)" ) ),
Where( :Name( "Age (decades)" ) == decade ),
Display( :Name( "Age (decades)" ), Size( 256, 168 ), List Display )
)
)
)
);
//Window with graphs
win = new window( "Ages by Decade",
V List Box(
Text Box( "Distribution of Ages within Decades", << Set Font Size( 20 ), << Set Width( 600 ) ),
H List Box(
vb1 = V List Box(
GraphDecade(20),
GraphDecade(40)
),
vb2 = V List Box(
GraphDecade(30),
GraphDecade(50)
)
)
)
);
(vb1[1] << Find("Local Data Filter")) << visibility("collapse");
(vb1[2] << Find("Local Data Filter")) << visibility("collapse");
(vb2[1] << Find("Local Data Filter")) << visibility("collapse");
(vb2[2] << Find("Local Data Filter")) << visibility("collapse");
Modificato: bug risolto