Couleur de légende constanteSalut,
Je construis un graphique (diagramme à barres) et j'ai changé la couleur de la légende (et donc la couleur de la barre) en cliquant avec le bouton droit et en copiant le script
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
8,
Properties( 0, {Fill Color( 10 )}, Item ID( "category", 1 ) ),Cela fait partie d’un graphique plus grand.
Lorsque j'exécute le script et que j'inclus un filtre de données local, la couleur des catégories change. C'est préjudiciable car je souhaite avoir la même couleur pour une catégorie indépendamment d'un filtre.
Cordialement,
Re : Couleur de légende constanteVous ne pouvez pas modifier la couleur de remplissage en modifiant la couleur de la cellule ni en modifiant l'état de la couleur de la ligne en une couleur spécifiée.Un graphique à barres est une colonne calculée qui n'a pas de relation directe entre l'affichage et chaque ligne individuelle.Par conséquent, vous devez gérer la barre entière en modifiant la couleur de remplissage dans le code du générateur de graphique.Vous trouverez ci-dessous un exemple sur la façon de procéder :
Graph Builder(
Size( 534, 418 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Y( :weight, Position( 1 ) ) ),
Elements( Bar( Y( 1 ), Y( 2 ), Legend( 3 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties( 0, {Fill Color( 5 )}, Item ID( "Mean(height)", 1 ) ),
Properties( 1, {Fill Color( 5 )}, Item ID( "Mean(weight)", 1 ) )
)}
)
)
);
Re : Couleur de légende constanteJ'ai coloré toutes les cellules sur deux colonnes (taille et poids) pour obtenir la même couleur dans un graphique à barres mais cela n'a pas fonctionné
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:height << Color Cell By Value( 1 ); // turn on the cell coloring
For( i = 1, i <= N Row( dt ), i++,
If( Column( dt, "height" )[i] >= 0,
Column( dt, "height" ) << Color Cells( 5, {i} ),
Column( dt, "height" ) << Color Cells( 0, {i} )
));
:weight << Color Cell By Value( 1 ); // turn on the cell coloring
For( i = 1, i <= N Row( dt ), i++,
If( Column( dt, "weight" )[i] >= 0,
Column( dt, "weight" ) << Color Cells( 5, {i} ),
Column( dt, "weight" ) << Color Cells( 0, {i} )
));
Graph Builder(
Size( 534, 418 ),
Show Control Panel( 0 ),
Variables( Y( :height ), Y( :weight, Position( 1 ) ) ),
Elements( Bar( Y( 1 ), Y( 2 ), Legend( 3 ) ) )
);Re : Couleur de légende constanteMerci,
Je crains que la réponse à la question suivante soit évidemment, mais comment puis-je changer toutes les valeurs d'une colonne en une seule couleur, via un script ?
Re : Couleur de légende constanteVous devriez pouvoir décocher la case "Inclure" dans le filtre, pour permettre aux couleurs du graphique de rester les mêmes. La case à cocher "Inclure" indique au filtre d'inclure/exclure les valeurs dans le calcul du graphique. Ainsi, lorsqu'elle n'est pas cochée, il utilise toutes les valeurs, ainsi les couleurs sont calculées de la valeur filtrée à la valeur filtrée.Re : Couleur de légende constanteVous pouvez verrouiller les couleurs de la légende en utilisant la propriété de colonne - Couleurs de valeur. Cela garantira que, quelle que soit la plate-forme que vous utilisez et quel que soit le filtre de données local appliqué, les couleurs de chaque groupe ne changeront pas.