Comment changer la couleur de ligne dans un graphique CDF ou Quantile?Salut,
Je génère des graphiques cumulatifs comme dans l'exemple ci-dessous.
Cependant, je veux que la couleur des lignes ne soit pas déterminée par col2 mais par col3.
Ajouter Couleur (: col3) n'a pas fait le tour ...
Thx, Phil
Une manière(
Y (: col1), X (: col2),
Tous les graphiques (0), Quantile de tracé par nombre réel (1), Ligne d'ajustement (0), Proportionnel d'axe X (0), Moyenne générale (0), Couleur (: col3)
)
Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Merci encore pour vos efforts.
Je crois qu'il y a eu quelques erreurs de syntaxe dans votre suggestion de script, que je
fixé. Voir ci-dessous. Cependant, je continue à recevoir des messages d'erreur du type "Impossible de trouver
ScaleBox ["400"] à {} ", même si je vais avec" 222 "comme vous l'avez suggéré. (BTW,
jamais compris ce que ce nombre signifie) et les styles de ligne ne sont pas
ajusté. Les couleurs fonctionnent bien comme avant.
merci, Philipp
Expr =
"Une manière(
Y (: poids),
X (: Sex_Class),
Tous les graphiques (0),
Parcelle Quantile par Réel (1),
Ligne de coupe (0),
Axe X Proportionnel (0),
Grand moyen (0),
SendToReport (
Dispatch ({}, \! "400 \!",
ScaleBox,
{Modèle de légende (1 ";
Pour (i = 1, i <= N éléments (groupes), i ++,
Expr = Expr || ", Propriétés (" || Char (i) || ", {Style de ligne (\!" "||
type de ligne [Mod (i, 5) + 1] || "\!" )}) ";
)
Expr = Expr || ")})))";
Eval (Parse (Expr));
Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Essayez ceci pour la taille
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
// Create a new column
dt << New Column( "Sex_Class", character, formula( :Sex || "_" || Char( :Age ) ) );
// Determine how many groups in the :Sex_Class
Summarize( dt, groups = by( :Sex_Class ) );
// Create the value colors list
colorlist = {};
For( i = 1, i <= N Items( groups ), i++,
If( Substr( groups[i], 1, 1 ) == "F",
color = 19,
color = 21
);
Eval(
Substitute(
Expr(
Insert Into( colorlist, __group__ )
),
Expr( __group__ ), Parse( "{\!"" || groups[i] || "\!"" || "=" || Char( color ) || "}" )
)
);
);
// Set the Value Colors property for the Sex_Class column
dt:sex_CLASS << set property( "value colors", Eval( colorlist ) );
linetype = {"Solid", "Dotted", "DashDot", "DashDotDot", "Dashed"};
TheExpr =
"Oneway(
Y( :weight ),
X( :Sex_Class ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0 ),
X Axis Proportional( 0 ),
Grand Mean( 0 ),
SendToReport(
Dispatch(
{},
\!"222\!",
ScaleBox,
{Legend Model(
1,";
For( i = 1, i <= N Items( groups ), i++,
If( i > 1,
TheExpr = TheExpr || ","
);
TheExpr = TheExpr || "Properties(" || Char( i ) || ", {Line Style(\!"" || linetype[Mod( i, 5 ) + 1] || "\!" )} )";
);
TheExpr = TheExpr || "),
)}
)";
Eval( Parse( theexpr ) );
Il n'y a que 5 styles de lignes disponibles
Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Hou la la! Je suis impressionné! Ça marche! J'ai modifié le script pour accueillir
le cas de plus de 2 couleurs:
// Déterminer les couleurs pour les lots
résumer (dt, groupes = par (: sex_class));
colorlist = {}; couleur = 3; Sxcnt = Word (1, groupes [1], "_");
Pour (j = 1, j <= n éléments (groupes), j ++,
Si (Non (Mot (1, groupes [j], "_") == Sxcnt), couleur = couleur + 1; Sxcnt = Mot (1, groupes [j], "_"));
Eval (Substitute (Expr (insérer dans (liste de couleurs, __group__)), expr (__group__
), parse ("{\!" "|| groupes [j] ||" \! "" || "=" || char (couleur) || "}")));
)
dt: sex_class <
Merci beaucoup, mais maintenant je suis devenu gourmand. Qu'en est-il de changer de style de tableau de bord par classe?
Merci Philipp
Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Vous pouvez obtenir ce que vous voulez en définissant les couleurs de valeur que vous souhaitez pour la colonne: Sex_Class avec laquelle vous travaillez. Voici la JSL pour le faire, mais cela peut facilement se faire de manière interactive
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
// Create a new column
dt << new column("Sex_Class", character,
formula(:Sex || "_" || char(:Age))
);
// Determine how many groups in the :Sex_Class
summarize(dt,groups=by(:Sex_Class));
// Create the value colors list
colorlist={};
For(i=1,i<=n items(groups),i++,
If(substr(groups[i],1,1)=="F",
color=19,
color=21
);
Eval(
Substitute(
Expr(
insert into(colorlist, __group__ )),
expr( __group__ ), parse("{\!""||groups[i]||"\!""||"="||char(color)||"}")
)
)
);
// Set the Value Colors property for the Sex_Class column
dt:sex_CLASS<<SET property=""></SET>

Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Merci beaucoup pour la réponse rapide.
Ci-joint un exemple avec plusieurs classes M / F. Chaque classe a sa ligne
mais les couleurs définies par le sexe.
Cerise sur le gâteau serait couleur par sexe et type de tiret par classe 
Philipp
Une manière(
Y (: poids),
X (: Sex_Class),
Tous les graphiques (0), Quantile de tracé par nombre réel (1), Ligne d'ajustement (0), Axe X
Proportionnel (0), Grand Mean (0), Couleur (: sexe),
SendToReport (
Dispatch ({"Tracé Quantile Normal"}, "Oneway QuantilePlot", FrameBox, {Ligne
Échelle de largeur (3), transparence (0)}),
)
)
Re: Comment changer la couleur de la ligne dans un graphique CDF ou Quantile?Je peux comprendre comment vous pouvez colorer des points de données avec une colonne différente
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
dt << Oneway(
Y( :weight ),
X( :sex ),
All Graphs( 0 ),
Plot Quantile by Actual( 1 ),
Line of Fit( 0(1) ),
X Axis Proportional( 0 ),
Grand Mean( 0 )
);
dt << color by( :age );
mais je ne vois pas comment vous faites directement avec les segments, chaque segment étant lié à 2 valeurs pouvant avoir 2 valeurs différentes de la 3ème couleur. Pourriez-vous fournir une maquette de ce que vous pensez?