Je ne sais pas si ce sera la solution mais essayez de tourner Ajuster à la fenêtre de.

Graph Builder(
Size( 457, 479 ),
Fit to Window( "Off" ),
Variables( X( :weight ), Y( :height ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
Divulgation complète - je suis un plus grand fan des anciennes routines de traçage de graphiques dans JSL que dans Graph Builder, mais je fais quelques tentatives honnêtes pour changer.
Je rencontre un problème lorsque j'ajoute dynamiquement des graphiques à un journal et j'essaie de contrôler très étroitement les tailles des graphiques afin que les axes et les valeurs s'alignent horizontalement. Je crée une liste déroulante H dans JSL avec plusieurs éléments, j'envoie cette liste déroulante H au journal, puis je fais la même chose sur un autre paramètre. Cependant, lorsque j'utilise Graph Builder, les attributs Size semblent être complètement ignorés et tous les GraphBuilders se retrouvent dans ce qui semble être 300x300px. Lorsque je crée les graphiques via d'autres itinéraires graphiques (graphiques de variabilité, graphique de contrôle, graphique de superposition), cela ne se produit tout simplement pas. Cela fonctionne.
J'ai essayé de procéder différemment et j'ai créé un code de test pour effectuer exactement le même ajout de la zone de liste H à une nouvelle fenêtre au lieu du Journal et tout fonctionne comme prévu. Voir l'image ci-dessous avec la sortie incorrecte du Journal à gauche et la sortie correcte de la « Nouvelle fenêtre » à droite. Quelqu'un sait-il ce qui se passe ici avec le Journal et quelles mesures doivent être prises pour atténuer le problème ?

Windows JMP 14.2
Exemple de code de test utilisant une table de données d'exemple Big Class.
//Uses BigClass example data
// Create array of parameters
ParameterArray = {"height", "weight"};
numbatches = nrows(Current Data Table());
wind = New Window( "Example");
// Loop through parameters
for (i = 1, i <= N Items(ParameterArray),i++,
ColName = ParameterArray[i];
// Create charts
xBox = H List Box ();
xBox << append( gbbp = Graph Builder(
Size( 150, 300 ),
Show Control Panel( 0 ),
Variables( Y( Column( ColName ) ), Overlay( :sex ) ),
Elements( Box Plot( Y, Legend( 2 ) ) ),
SendToReport(
Dispatch(
{},
ColName,
ScaleBox,
{Label Row( {Major Grid Line Color( -14277081 ), Show Major Grid( 1 )} )
}
),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
);
);
xBox << append( gb = Graph Builder(
Size( 900, 300 ),
Show Control Panel( 0 ),
Legend Position( "Inside Left" ),
Variables( X( :age ), Y( Column( ColName ) ), Overlay( :sex ) ),
Elements( Line( X, Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( ColName || " Chart" )}
),
Dispatch(
{},
"graph title",
TextEditBox,
{Set Text( ColName || " Chart" )}
),
Dispatch( {}, "400", LegendBox, {Sides( "Left" )} )
)
);
);
// Save to journal
xBox << journal;
wind << append(xBox);
);
Salut
Je viens de tomber sur cela, en essayant de mettre plusieurs boîtes à moustaches dans un rapport avec d'autres éléments. Au moins, il n'y a pas que moi !
Est-ce que cela a déjà été réparé ? Est-ce un bug ou une fonctionnalité?
Comment faire ce que vous avez fait (« construire une fenêtre puis l'envoyer au journal ») ?
J'ai du mal à démarrer avec JSL car il semble être... un peu différent de tout autre langage que j'ai utilisé, et je n'ai pas le temps de tout comprendre en profondeur.
Existe-t-il un moyen de créer un diagramme en boîte qui n'implique pas Graph Builder ?
J'ai également du mal avec la documentation, ce qui n'aide pas !
merci
John
Je pense que la principale raison du problème de taille est que les rapports ne font pas partie d'une fenêtre au moment où ils sont journalisés. Cela devrait probablement être considéré comme un bug et je le signalerai, mais une façon de contourner ce problème consiste simplement à réorganiser les commandes pour ajouter les rapports à la fenêtre et enregistrer le journal :
// Add reports to window
wind << append(xBox);
// Save to journal
xBox << journal;
J'espère que cela pourra aider,
-Et