Hai bisogno di aiuto con uno script per trasmettere le linee dell'asse Y su Graph Builder quando si utilizza la funzione di layout "Pagina" e mantenendo l'asse Y indipendenteCiao a tutti,
Sebbene la nuova capacità di impilare i pannelli in Graph Builder sia incredibile, la chiave di questa meraviglia è mantenere l'asse Y indipendente l'uno dall'altro. Tuttavia, quando hai molti pannelli (livelli) e vuoi aggiungere linee di griglia nell'asse Y, devi farlo uno per uno, il che è orribile. Hai qualche idea su uno script che ti permetterebbe di indicizzare ogni pannello e aggiungere linee di griglia in modo indipendente?
Qui potete vedere che ho utilizzato il vecchio metodo (nel dataset della classe grande) di copiare le impostazioni degli assi e di trasmetterne un incollamento e, sebbene aggiunga le linee della griglia, imposta tutti gli intervalli dell'asse Y sugli stessi valori delle impostazioni del pannello copiato.

Grazie per qualsiasi idea!
Steve
Automazione e scriptingEsplorazione e visualizzazione dei datiRe: Ho bisogno di aiuto con uno script per trasmettere le linee dell'asse Y su Graph Builder quando si utilizza la funzione di layout "Pagina" e mantenendo l'asse Y indipendenteUsa XPath per ottenere un riferimento agli Axisbox che ti interessano (asse X, Y o entrambi) e poi fai quello che vuoi con quell'elenco di axisbox. Questo esempio abilita Major Grid per l'asse Y su tutti i framebox
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Size(893, 542),
Show Control Panel(0),
Variables(X(:weight), Y(:height), Page(:age, Levels per Row(3)), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)))
);
abs = Report(gb) << XPath("//AxisBox");
yaxis = abs[2::NItems(abs)::2];
yaxis << Show Major Grid(1);

Re: Ho bisogno di aiuto con uno script per trasmettere le linee dell'asse Y su Graph Builder quando si utilizza la funzione di layout "Pagina" e mantenendo l'asse Y indipendenteÈ stato veloce, Jarmo! Mi piace di più la tua soluzione, ma ecco un altro modo usando Eval(Parse()).
Names Default To Here( 1 );
//Manually add your reference line to the top left panel of the graph builder.
//Then run this script with the graph builder report in focus.
axisList = Current Report() << XPath( "//AxisBox" );
//Grab axis specifications from vertical axis of first panel
//(vertical axes are even-numbered items; horizontal axes are odd)
axspecList = axisList[2] << Get Script();
//find the Reference Line among the other specifications
For( i = 1, i <= N Items( axspecList ), i++,
If( Left( Char( axspecList[i] ), 12 ) == "Add Ref Line",
rlindex = i;
Break();
)
);
//Reference Line specification as string
rlstr = Char( axspecList[rlindex] );
//Apply Reference Line specification to the remaining panels
For( j = 4, j <= N Items( axisList ), j = j + 2,
estr = "axisList[" || Char( j ) || "] <<" || rlstr;
Eval( Parse( estr ) );
);