Bonjour,
J'essaie d'utiliser le générateur de graphiques pour créer un graphique à barres empilées avec des étiquettes pour chaque barre empilée ainsi qu'une somme totale.L'image ci-dessous est une version annotée du graphique que j'espère obtenir où j'ai inséré manuellement les totaux pour chaque barre.(L'exemple de jeu de données JMP que j'ai utilisé avec le script de création de graphiques intégré est joint)
Est-ce que quelqu'un sait s'il existe un moyen de créer cette vue via le générateur de graphiques/une autre plateforme ou des scripts JSL ?
Merci,
AW

@txnelson , @gzmorgan0
Merci beaucoup pour les réponses rapides et les moyens créatifs de résoudre ce problème !J'ai oublié de mentionner que je devrai parcourir et générer ces tracés pour environ 100 projets différents par semaine.Donc, je pense que le script fourni par gzmorgan0 me convient mieux. Je viens de l'essayer et il répond parfaitement à mes besoins.Merci encore!
@AW ,
@txnelson fourni une bonne solution. Cela demande un peu de script pour les étiquettes.Voici une autre méthode utilisant GraphBuilder.Je pense qu'il est plus facile de voir le modèle via le script enregistré (ci-dessous). Cela peut être fait via l'interface utilisateur et en désactivant la variable Overlay. Le graphique comporte 3 éléments :
- une barre empilée utilisant la variable overlay
- une barre n'utilisant pas la variable overlay
- une légende avec la somme statistique récapitulative n'utilisant pas la variable de superposition
Remarque J'ai enregistré votre table de données sur mon lecteur c:/temp/. L'elemnet Caption n'a pas la flexibilité de placement offerte par la solution de Jim.
Names Default to Here(1);
dt = open("C:/temp/Sample Dataset for Stacked Graph Builder Bar Chart.jmp");
gb = dt << Graph Builder(
Size( 534, 492 ),
Show Control Panel( 0 ),
Variables(
X( :Test_Step_Duration ),
Y( :Test ),
Group X( :Sample Information ),
Overlay( :Test_Step )
),
Elements(
Bar(
X,
Y,
Overlay( 0 ),
Legend( 11 ),
Bar Style( "Stacked" ),
Summary Statistic( "Sum" )
),
Caption Box(
X,
Y,
Overlay( 0 ),
Legend( 13 ),
Summary Statistic( "Sum" ),
Per Factor( 1 )
),
Bar( X, Y, Legend( 14 ), Bar Style( "Stacked" ), Label( "Label by Value" ) )
),
Local Data Filter(
Add Filter( columns( :Project ), Where( :Project == "Project 1" ) )
),
SendToReport(
Dispatch(
{},
"Test_Step_Duration",
ScaleBox,
{Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
11,
Properties(
-1,
{Transparency( 0.1 )},
Item ID( "Sum(Test_Step_Duration)", 1 )
)
), Legend Model(
14,
Properties( 0, {Fill Color( 69 )}, Item ID( "Step 1", 1 ) ),
Properties( 1, {Fill Color( 67 )}, Item ID( "Step 2", 1 ) ),
Properties( 2, {Fill Color( 36 )}, Item ID( "Step 3", 1 ) ),
Properties( 3, {Fill Color( 40 )}, Item ID( "Step 4", 1 ) ),
Properties( 4, {Fill Color( 38 )}, Item ID( "Step 5", 1 ) ),
Properties( 5, {Fill Color( 39 )}, Item ID( "Step 6", 1 ) )
)}
),
Dispatch(
{},
"X title",
TextEditBox,
{Set Text( "Test_Step_Duration and Total" )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {11, [-1], 14, [0, 1, 2, 3, 4, 5]} ),
Position( {-1, 0, 1, 2, 3, 4, 5} )}
)
)
);
txtseg = gb << Xpath("//TextSeg");
txtseg << Set Font("Segoe UI", 10, "Bold");
txtseg[1] << {Transparency( 0 ), Text Color( "White" )}; //clear out the statistic

Vous pouvez ajouter vos propres scripts graphiques personnalisés à Graph Builder, faites un clic droit sur le graphique et sélectionnez Personnalisé et vous verrez le JSL ajouté.J'ai seulement ajouté le code pour les 2 premières barres, mais il devrait vous montrer comment avancer avec chacune d'elles.

Ci-joint le script