Échelle du journal de Go par page avec JSLSi je ne fais que le constructeur de graphiques avec la page, je peux faire l'échelle de journal avec JSL sans aucun problème. Mais lorsque j'ajoute un générateur de graphiques par page. l'échelle du journal ne s'est produite qu'à la 1ère page uniquement. l'autre page n'a pas l'échelle du journal. 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 logarithmique, mais la 2ème page n'obtient pas l'échelle logarithmique.

ScriptRe : Échelle du journal des Go par page avec JSLVous obtenez seulement 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 en boucle ou éventuellement utiliser Xpath (vous ne savez pas comment obtenir toutes les références d'axe sans cela dans une liste lorsque vous utilisez 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 "l'opération matricielle" est assez critique ici, et je suggère de jouer un peu avec eux pour comprendre ce qui se passe.