Come cambiare il colore della linea nella trama CDF o Quantile?Ciao,
Sto generando trame cummulative come nell'esempio qui sotto.
Tuttavia, voglio colorare le linee che non devono essere determinate da col2 ma da col3.
Aggiunta Il colore (: col3) non ha funzionato ...
Thx, Phil
Senso unico(
Y (: col1), X (: col2),
All Graphs (0), Plot Quantile per Actual (1), Line of Fit (0), X Axis Proportional (0), Grand Mean (0), Color (: col3)
)
Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Grazie ancora per i tuoi sforzi.
Credo che ci fossero alcuni errori di sintassi nel tuo suggerimento di script, che io
fisso. Vedi sotto. Tuttavia, continuo a ricevere messaggi di errore come "Impossibile trovare
ScaleBox ["400"] in {} ", anche se vado con" 222 "come suggerito. (A proposito,
mai capito cosa significhi quel numero) E gli stili di linea non lo sono
aggiustato. I colori funzionano come prima.
grazie, Philipp
Espr =
"Senso unico(
Y (: peso),
X (: Sex_Class),
Tutti i grafici (0),
Plot Quantile by Actual (1),
Linea di adattamento (0),
Asse X proporzionale (0),
Grand Mean (0),
SendToReport (
Dispatch ({}, \ "400 \",
scalebox,
{Modello di leggenda (1 ";
Per (i = 1, i <= N articoli (gruppi), i ++,
Espr = Espr || ", Proprietà (" || Char (i) || ", {Stile linea (\!" "||
linetype [Mod (i, 5) + 1] || "\!" )}) ";
);
Espr = Espr || ")})))";
Eval (Parse (Espr));
Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Prova questo per dimensioni
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 ) );
Sono disponibili solo 5 stili di linea
Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Wow! Sono impressionato! Funziona! Ho modificato la sceneggiatura per adattarla
il caso di più di 2 colori:
// Determina i colori per i lotti
Riassumendo (dt, gruppi = da (: sex_class));
colorlist = {}; colore = 3; Sxcnt = Parola (1, i gruppi [1], "_");
Per (j = 1, j <= n elementi (gruppi), j ++,
Se (Non (Word (1, i gruppi [j], "_") == Sxcnt), color = colore + 1; Sxcnt = Parola (1, i gruppi [j], "_"));
Eval (sostituto (expr (inserire in (colorlist, __group__)), expr (__group__
), parse ("{\!" "|| groups [j] ||" \! "" || "=" || char (color) || "}")));
);
dt: sex_class <
Grazie mille, ma ora sono diventato avido. Che ne dici di cambiare lo stile del trattino per classe?
Grazie, Philipp
Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Puoi ottenere ciò che desideri impostando i colori di valore desiderati per la colonna: Sex_Class con cui stai lavorando. Ecco il JSL per farlo, ma può essere facilmente fatto in modo interattivo
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>

Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Grazie mille per la rapida risposta.
In allegato c'è un esempio con diverse classi M / F. Ogni classe ha la sua linea
ma i colori sono definiti dal sesso.
Ciliegina sulla torta sarebbe colore per sesso e tipo di trattino per classe 
Philipp
Senso unico(
Y (: peso),
X (: Sex_Class),
Tutti i grafici (0), Plot Quantile per Actual (1), Line of Fit (0), X Axis
Proporzionale (0), Grand Mean (0), Color (: sex),
SendToReport (
Dispatch ({"Normal Quantile Plot"}, "Oneway QuantilePlot", FrameBox, {Line
Larghezza scala (3), Trasparenza (0)}),
)
)
Ri: Come cambiare il colore della linea nella trama CDF o Quantile?Posso capire come potresti colorare i punti dati con una colonna diversa
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 );
ma non vedo come lo si fa direttamente con i segmenti di linea, poiché ogni segmento è collegato tra 2 valori che possono avere 2 valori diversi del 3 ° colore. Potresti fornire un modello di ciò che stai pensando?