Échelle du journal de Go par page avec JSLSi je ne fais que le générateur de graphiques avec la page, je peux faire l'échelle du journal avec JSL sans aucun problème. Mais lorsque j'ajoute un générateur de graphique par page. l'échelle du journal n'est arrivée qu'à la 1ère page uniquement. l'autre page n'a pas l'échelle de log. Quelqu'un peut-il conseiller comment le faire?
cht_NFC_RD_BE_FME_SB = dt_NFC_RD_BE_FME_SB << Graph Builder(
Size( 1058, 1464 ),
Show Control Panel( 0 ),
Variables(
X( :CYC ),
Y( :Name( "NFC_RD_BE_FME_SB(Cnt)" ) ),
Page( :Wafer )
),
Elements( Box Plot( X, Y, Legend( 4 ) ), Line( X, Y, Legend( 5 ) ) )
);
Report(cht_NFC_RD_BE_FME_SB)[Axisbox(2)] << {Scale("Log"), Min( 1 ), Max( 4096 ), Inc( 1 ), Minor Ticks(1), Show Major Grid(1)};
La 1ère page obtient l'échelle du journal, mais la deuxième page n'obtient pas l'échelle du journal.

ScriptRe : Échelle du journal de Go par page avec JSLVous n'obtenez que la référence au premier graphique avec
Report(cht_NFC_RD_BE_FME_SB)[Axisbox(2)]
Vous pouvez obtenir toutes les références, puis les parcourir ou éventuellement utiliser Xpath (vous ne savez pas comment obtenir toutes les références d'axe sans cela dans une liste en utilisant uniquement des DisplayBoxes) et les définir toutes en même temps. Quelque chose comme ça pourrait fonctionner:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Reliability/Fan.jmp");
gb = dt << Graph Builder(
Size(534, 956),
Show Control Panel(0),
Variables(X(:Time), Y(:Exponential), Page(:Censor)),
Elements(Points(X, Y, Legend(8)), Smoother(X, Y, Legend(9))),
SendToReport(Dispatch({}, "Exponential", ScaleBox, {Format("Best", 9)}))
);
rep = Report(gb) << XPath("//AxisBox");
rep = rep[2::N Items(rep)::2]; //get every other value
rep << {Scale("Log"), Minor Ticks(1), Show Major Grid(1)};Comprendre le Xpath et le "fonctionnement de la matrice" sont ici assez critiques, et je suggère de jouer un peu avec eux pour comprendre ce qui se passe.