Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiqueJ'ai parcouru le guide des scripts, mais je ne trouve pas ce que je cherche. Je crée des graphiques itérant un groupe par requête. Par défaut, tous les graphiques ont la même largeur et le même incrément pour l'axe. J'aimerais pouvoir modifier la largeur du graphique et l'incrément de l'axe X en fonction du nombre de valeurs dans l'axe X. Comment puis-je faire ceci? Voici un extrait de code :
planetP = Control Chart(invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiqueSi je veux personnaliser un graphique, je le "régle" jusqu'à ce qu'il ressemble à ce que je veux, avec une largeur, une hauteur, une mise à l'échelle, etc. souhaitées. Ensuite, je clique avec le bouton droit sur le petit triangle rouge et sélectionne Copier le script.Le script vous montre quelles commandes sont nécessaires pour écrire le graphique.Peut-être un peu plus facile que de creuser dans l'arborescence.
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphique
@Mark_Bailey a écrit:
.......
Vous pouvez cliquer avec le bouton droit sur le bouton à gauche de n'importe quelle zone de contour de votre plate-forme et sélectionner Modifier > Afficher l'arborescence. Cet affichage vous aidera à identifier la boîte d'affichage avec laquelle vous devez travailler.
Je pense que c'est le plus gros à emporter. J'ai déjà utilisé l'index de script et je l'ai trouvé utile (quand j'ai pu trouver ce que je cherchais). Je ne savais rien de ce que signifiait la structure arborescente, jusqu'à maintenant.
Merci!
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiqueLe Scripting Guide est une référence, pas un livre de solutions ou un livre de recettes. Il existe une référence de style de livre de cuisine disponible via SAS Press.
Voir les chapitres "Afficher les arborescences" et "Graphes de script" dans le Guide de script pour plus d'informations sur ce que vous essayez de faire.
L'aide > Index de script peut également vous être utile. Modifiez le navigateur pour afficher les zones d'affichage. Sélectionnez ensuite Axis Box dans la liste de gauche. La deuxième liste vous montrera le protocole complet pour ces objets.
Vous pouvez cliquer avec le bouton droit sur le bouton à gauche de n'importe quelle zone de contour de votre plate-forme et sélectionner Modifier > Afficher l'arborescence. Cet affichage vous aidera à identifier la boîte d'affichage avec laquelle vous devez travailler.
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiqueVous cliquez sur le triangle rouge à gauche du titre du message que vous souhaitez modifier et sélectionnez Modifier la réponse .
1. L'indice de la case de l'axe cible dépend de la plate-forme, mais généralement l'indice de l'axe Y est 1 et l'indice de l'axe X est 2.
2. Votre syntaxe est la même que la mienne. Vos noms sont différents.
3. Je ne sais pas ce qu'est le "compte" d'un axe, mais vous pouvez utiliser le << Obtenir Min et << Obtenez Max messages pour déterminer la plage, ce qui peut aider à déterminer l'incrément que vous souhaitez utiliser.
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiquePermettez-moi d'apporter une correction à mon message ci-dessus (puisque je ne sais pas comment éditer un message).
1. J'ai découvert que je pouvais affecter l'axe X en changeant AxisBox(1) en AxisBox(2).
2. J'utilise la syntaxe "pp = planetP << Report"
3. Comment puis-je obtenir un décompte des valeurs de l'axe X afin de déterminer ce qu'il faut utiliser pour l'incrément ?Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphique
@Mark_Bailey a écrit:
Vous devriez voir Aide > Livres > Guide de script. Chaque plateforme est composée de deux objets : la couche d'analyse et la couche de rapport. Tous les messages initiaux vont à la couche d'analyse. Vous devez obtenir une référence à la couche de rapport et envoyer des messages à des objets spécifiques dans le rapport. Cet exemple vous donne une idée de ce que je veux dire :
planetP = Control Chart(
invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
planetP report = planetP << Report;
planetP[FrameBox(1)] << Frame Size( 200, 200 );
planetP[AxisBox(1)] << Inc( 2 );
Mark - J'apprécie la réponse. Quelques choses:
1. J'ai essayé votre suggestion mais je ne peux pas du tout affecter l'axe X. Je peux très bien changer la taille de la framebox.
2. Est-ce que le "rapport planetP = planèteP < < Signaler" identique à "pp = planetP < < Signaler" (puis en utilisant pp[FrameBox( 1 )] < < Taille du cadre ( 200 , 200 ))
2. J'ai regardé en ligne le Scripting Guide. Ce n'est PAS très convivial pour les débutants. Je n'ai rien trouvé qui traite de l'objet axisbox, ni quels sont les noms d'objets en général. J'ai cherché "rapport" et j'ai eu une tonne d'instances, mais zéro pour axisbox. Existe-t-il un endroit qui traite spécifiquement des différents objets et de la manière d'interagir avec eux ?
Re : Modifier par programme l'incrément de l'axe X et la largeur et la hauteur du graphiqueVous devriez voir Aide > Livres > Guide de script. Chaque plateforme est composée de deux objets : la couche d'analyse et la couche de rapport. Tous les messages initiaux vont à la couche d'analyse. Vous devez obtenir une référence à la couche de rapport et envoyer des messages à des objets spécifiques dans le rapport. Cet exemple vous donne une idée de ce que je veux dire :
planetP = Control Chart(
invisible,
Sample Label( :ReleaseMonth ),
Phase( :Phase ),
Sample Size( :Name( "Sum-Total" ) ),
KSigma( 3 ),
Chart Col( :OnTimePct, P( Phase Level( "1" ), Phase Level( "2" ) ) ),
By( :Planet )
);
planetP report = planetP << Report;
planetP[FrameBox(1)] << Frame Size( 200, 200 );
planetP[AxisBox(1)] << Inc( 2 );