Perplexe par Graph BuilderUn client souhaite créer un graphique contenant un graphique à barres empilées et des points au-dessus de la barre.Je me suis moqué d'un exemple utilisant Big Class (voir le script ci-dessous).Je peux me rapprocher de ce dont elle a besoin en imbriquant l'âge dans le sexe et en incluant également l'âge dans le rôle de la couleur, mais je ne peux pas obtenir des barres empilées différentes couleurs ou motifs.Le deuxième graphique a l'âge dans le rôle de superposition mais les points ne sont pas au-dessus des barres - le client aime vraiment l'ombrage des couleurs par âge sur les graphiques à barres et les différentes couleurs pour les variables Y empilées.Les éléments nécessaires sont donc :
- points au-dessus des barres
- possibilité de voir les variables Y empilées dans la barre
- capacité à désigner l'âge
Le graphique des clients est un peu plus complexe que mon exemple en ce sens qu'il s'agit d'un treillis groupé par les variables Y et X.
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// New formula column: height+weight
dt << New Column( "height+weight",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( :height + :weight )
);
dt << Graph Builder(
Size( 822, 623 ),
Variables(
X( :sex ),
X( :age, Position( 1 ) ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Color( :age )
),
Elements(
Points( X( 1 ), X( 2 ), Y( 3 ), Legend( 5 ) ),
Bar( X( 1 ), X( 2 ), Y( 1 ), Y( 2 ), Legend( 6 ), Bar Style( "Stacked" ) )
)
);
dt << Graph Builder(
Size( 570, 619 ),
Variables(
X( :sex ),
Y( :height ),
Y( :weight, Position( 1 ) ),
Y( :"height+weight"n, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 1 ), Y( 2 ), Legend( 4 ), Bar Style( "Stacked" ) ),
Points( X, Y( 3 ), Legend( 5 ) )
)
);
Re: Stumped par Graph Builderessayez ceci: ajoutez deux fois votre variable y à l'axe y. Une fois en tant que barre, puis faites un clic droit et ajoutez des points. Ensuite, la hauteur, ou toute autre variable que vous avez sur le Y est avec la barre, et aussi avec des points. Si les points sont au-dessus de la barre, ils pourront les voir.
Je l'ai fait avec ces données :

cela fonctionnera-t-il pour ce qu'ils veulent?
Re: Stumped par Graph BuilderLes points sont une variable Y différente de ce qui est empilé dans le graphique, donc je ne pense pas que cela fonctionnera.J'ai joué avec cette idée et cela ne semble pas faire l'affaire.
Re: Stumped par Graph BuilderPouvez-vous mettre la variable Y différente sur l'axe Y2 pour que cela fonctionne ? Tout en l'ajoutant également au rôle de superposition ou de couleur ?
Re: Stumped par Graph BuilderLes points ne seront toujours pas au-dessus des barres - car la superposition par une variable catégorielle séparera les barres mais pas les points.
Re: Stumped par Graph BuilderJ'ai l'impression que le client veut en faire trop avec la couleur : différentes couleurs pour les éléments empilés dans chaque barre, ainsi qu'un dégradé de couleurs continu par âge. Nous ne faisons tout simplement pas cela.
Encouragez peut-être le client à trouver une autre façon de représenter les âges ou la superposition empilée. La couleur ne peut pas être utilisée pour les deux simultanément.
Re: Stumped par Graph BuilderJe ne pense pas que le problème soit nécessairement la couleur ; ci-dessous est un graphique où les couleurs ont été utilisées pour les catégories, et un dégradé continu pour :weight (couleur ou marque par colonne). Pas sûr que ce soit ce qui est voulu cependant.

Re: Stumped par Graph BuilderJe pensais que le graphique souhaité aurait des couleurs différentes dans chaque barre empilée, puis un dégradé de ces deux couleurs sur les différentes barres. Ce n'est pas possible dans graph builder, pour autant que je sache.
Re : Perplexe face à Graph BuilderBrady et moi avons discuté de cette question au téléphone. Nous avons proposé quelques options nécessitant un script. Je vous tiendrai au courant.
Re: Problème avec Graph BuilderEt si on utilisait l'axe Y2 ?
Graph Builder(
Size( 534, 450 ),
Show Control Panel( 0 ),
Variables(
X( :sex ),
Y( :"height+weight"n, Side( "Right" ) ),
Y( :height, Position( 1 ) ),
Overlay( :age )
),
Elements(
Bar( X, Y( 2 ), Legend( 9 ), Bar Style( "Stacked" ) ),
Points( X, Y( 1 ), Legend( 8 ) )
),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {9, [6, 7, 8, 9, 10, 11], 8, [0, 1, 2, 3, 4, 5]} )}
)
)
)
