Bonjour,
J'utilise la boucle For pour créer une taille de graphique (800 800) et l'ajouter à la même fenêtre. Lorsque vous testez le script uniquement pour un graphique, la taille est correcte. Lorsque plusieurs graphiques sont ajoutés dans une seule fenêtre, ils s'ajusteront automatiquement et seront trop étroits pour examiner les données.
Pourriez-vous s'il vous plaît nous indiquer comment corriger la taille du graphique lors de l'ajout à la fenêtre unique ?
Merci.
nw= New Window("Report");
For(j = 1, j <= nitems(mylist) , j++,
prod_list = mylist[j];
Gr1 = expr (Data Table(" Rej Rate "||prod_list) << Graph Builder(
Size( 800,800 ),
.
.
);
nw << Append (Hlistbox(Gr1));
); // end for mylist loop<BR />@msharp J'ai créé un nouveau message comme votre commentaire. Merci.
Merci. Cela fonctionne dans les deux méthodes.
Une autre solution serait d'ajouter :
Fit To Window("off")
dans le cadre de votre commande Graph Builder().Par défaut, Graph Builder décide automatiquement s'il faut étirer la fenêtre ou conserver une taille constante.Je pense que la solution @msharp à condition de modifier le comportement d'étirement automatique.En fait, je ne sais pas pourquoi cela change les choses - il s'agit peut-être d'un bug sur lequel vous travaillez.
Akane, essayez de l'ajouter à une zone de liste, pas directement à la fenêtre.Cela devrait résoudre votre problème.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
nw = New Window("Dashboard", hlb = hlistbox()); //vlistbox if you want it vertical
for(i=1, i<10, i++,
g = expr(dt << Graph Builder(
Size( 800, 800 ),
Show Control Panel( 0 ),
Variables( X( :name ), Y( :age ) ),
Elements( Points( X, Y, Legend( 5 ) ) )
));
hlb << Append(g);
);
De plus, au lieu d'appeler les tables de données par leur nom, il est préférable de stocker la référence de la table de données dans une variable et de l'appeler.
Donc....
//Bad Practice
mylist = {"name1", "name2"};
For(j = 1, j <= nitems(mylist) , j++,
prod_list = mylist[j];
Gr1 = expr (Data Table(" Rej Rate "||prod_list) << Graph Builder(
Size( 800,800 ),
//Good Practice
mylist = {dt1, dt2};
For(j = 1, j <= nitems(mylist) , j++,
dt = mylist[j];
Gr1 = expr (dt << Graph Builder(
Size( 800,800 ),