Comment ajouter des graphiques dans un rapport avec des ongletsSalut tout le monde
J'ai un problème ici, comment puis-je diviser le graphique en différents onglets ?
Maintenant, j'ai 5 onglets avec des noms de produits différents, et chacun des produits a son propre tableau.
VC << Variability chart(
Y(:Name( "I_P3G_G_PSVT_0.6/0.06" ) ,:Name( "I_P3HG_G_PHVT_0.6/0.06" ),:Name("NEW_I_P3G_G_PSVT_0.6/0.06") , :Name("NEW_I_P3HG_G_PHVT_0.6/0.06"), :Name("Gross Yield") ),
X( :Name( "Lot" ), :Name( "F_V_L " ) ),
Analysis Type( "Choose best analysis (EMS REML Bayesian)" ),
);
Sur le code ci-dessus, il générera 3 types de produits (c'est-à-dire ici 3 noms de produits différents) avec 5 graphiques de variabilité (tous les graphiques sont différents les uns des autres - extraits de données de l'ensemble de données), alors comment puis-je ajouter ces 3 différents types de produit en 3 onglets différents ? Comment diviser chacun des graphiques puis les ajouter en onglets ?
Voici les onglets déjà créés :
VariabilityWindow = New Window("Variability Chart",tb = Tab Box() );
For(i = 1, i <=Nrows(dt2), i++,
tb << insert(
dt2: F D[i] || Char(i),
V list Box(
Button Box("Variability Chart #" || Char(i) ),
)
)
);
Merci.
Re : comment ajouter le graphique dans des ongletsMaintenant je comprends pourquoi je n'avais pas utilisé l'astuce "invisible". Cela fait vraiment une fenêtre, et le rapport s'attache à la fenêtre. Essayez ceci à la place :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
xList = {:height, :weight};
yList = {:height, :weight};
// Create a display window
nw = New Window( "test", tb = Tab Box() );
// Loop over the lists
For( x = 1, x <= N Items( xList ), x++,
For( y = 1, y <= N Items( yList ), y++,
// Make a tab box in the window
tb << Append(
"Tab " || Char( x ) || Char( y ),
V List Box( bivariate( x( xList[x] ), y( yList[y] ) ) )
)
)
);
Lorsqu'un rapport est créé, il "regarde autour de lui" pour voir à quoi il doit se rattacher. Habituellement, il ne trouve rien et crée une nouvelle fenêtre de rapport et s'y attache. "invisible" ne fait que masquer la fenêtre... elle est toujours en cours de création pour ancrer le rapport. Plus tard, la commande append regarde la boîte d'affichage (qui est ancrée dans une fenêtre cachée) et en fait un clone, puisque la même boîte ne peut pas être à deux endroits. Les clones sont déconnectés de la table (et c'est ainsi que les journaux sont créés afin qu'ils ne dépendent pas d'une table de données). Mais dans cet exemple, le rapport bivarié regarde autour de lui et voit qu'il est créé dans une VListBox et n'a pas besoin de créer une fenêtre. Append regarde ensuite la VListBox et voit qu'elle n'est attachée à rien d'autre et l'utilise sans faire de clone. Vous vous retrouvez donc avec 4 onglets de rapports en direct.
Selection works on live reportSelection works on live reportLa sélection fonctionne sur le rapport en direct
Re : comment ajouter le graphique dans des ongletsLorsque j'utilise cette approche, les tracés ne sont plus interactifs, par exemple Je ne peux pas sélectionner de points de données ou filtrer les données avec un filtre de données local. Est-ce lié à report() ? Existe-t-il un autre moyen d'ajouter les graphiques ? Merci!
Re : Comment ajouter le graphique dans les ongletsJe ne sais pas si cela donne une aide supplémentaire ou non. Mais en s'appuyant sur l'exemple de Jim ci-dessus :
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
xList = {:height, :weight};
yList = {:height, :weight};
// Create a display window
nw = New Window( "test", tb = Tab Box());
// Loop over the lists
for(x = 1, x <= NItems(xList), x++,
for(y = 1, y <= NItems(yList), y++,
// Make a tab box in thw window
tb << Append("Tab "||Char(x)||Char(y), vlb = VListBox());
// Create an invisible display
biv = bivariate( x( xList[x] ), y( yList[y] ), invisible );
// Move the chart to the tab box
vlb << append( Report( biv ) );
// Close the invisible display
Report(biv) << closeWindow;
);
);Re : comment ajouter le graphique dans des ongletsexiste-t-il d'autres moyens de le faire?
Pouvez-vous me donner quelques indices, quelles fonctions peuvent être appliquées pour séparer le graphique ?
J'ai essayé d'utiliser les éléments de localisation dans une liste, puis j'ai essayé d'ajouter dans les onglets, mais cela ne semble pas fonctionner.
Il génère toujours les 3 graphiques ensemble lorsque j'exécute le script.
Pouvez-vous partager avec moi quelques indices?
MerciRe : comment ajouter le graphique dans des ongletsOui, chaque graphique doit être défini selon les besoins.
Re : comment ajouter le graphique dans des ongletsSalut,
Ce qui me dérange maintenant, c'est que lorsque j'exécute le script, il génère automatiquement 3 des graphiques de 3 produits différents car ils utilisent la même liste de paramètres de ma table de données.
Donc pour mon cas, j'ai besoin de le séparer un par un? Après cela, ajoutez simplement dans chaque onglet ?Re : comment ajouter le graphique dans des ongletscool... je n'avais pas pensé à utiliser invisible de cette façon.
Re : comment ajouter le graphique dans des ongletsJMP permet d'ajouter, de préfixer, de sibappend, etc. à tout autre objet. Tout ce qui doit être fait est d'identifier l'objet à déplacer et l'objet vers lequel déplacer, puis de déterminer quel placement (ajout, préfixe, etc.) fournit le placement souhaité. Voici un exemple
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
// Create a display window
nw = New Window( "test", tb = Tab Box( "tab 1", vlb1 = V List Box() ) );
// create a display
biv1 = bivariate( x( :height ), y( :weight ), invisible );
// Move the chart to the tab box
vlb1 << append( Report( biv1 ) );