Ciao a tutti,
Ho una domanda apparentemente semplice a cui non riesco a trovare risposta. Ho creato un grafico a barre e vorrei personalizzare individualmente il colore di riempimento di ciascun grafico a barre. Il grafico mostra il costo sull'asse y e la marca dell'auto sull'asse x, con ogni marca di auto che ha due anni. Il motivo è che ho un colore di riempimento generale a seconda dell'anno (2017 e 2018), ma vorrei evidenziare alcune auto di un colore diverso (ad esempio Honda 2017 sarebbe diversa dal resto delle marche di auto 2017 e Honda 2018 sarebbe diverso dal resto delle marche di auto del 2018).
C'è un modo per farlo facilmente su builde grafico o attraverso il codice?
Grazie in anticipo.
Lo script qui sotto estende Jim's, @txnelson , ottimo suggerimento, che mostra come impostare colori specifici usando JSL per modificare il file Modello Leggenda.
Names Default to Here(1);
dt = open("$sample_data/big class.jmp");
gb = dt << Graph Builder(
show control panel(0),
Variables(
X( :age ),
X( :sex, Position( 1 ) ),
Y( :height ),
Color(
Transform Column(
"Transform[age]",
Character,
Nominal,
Formula( (Char( :age ) || " ") || :sex )
)
)
),
Elements( Bar( X( 1 ), X( 2 ), Y, Legend( 12 ) ) )
);
//note Item ID count begins with 0
gb << SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
//12,
Properties( 0, {Fill Color( 5 )}, Item ID( "12 F", 1 ) ),
Properties( 1, {Fill Color( 5 )}, Item ID( "12 M", 1 ) ),
Properties( 2, {Fill Color( 20 )}, Item ID( "13 F", 1 ) ),
Properties( 3, {Fill Color( 20 )}, Item ID( "13 M", 1 ) ),
Properties( 4, {Fill Color( 6 )}, Item ID( "14 F", 1 ) ),
Properties( 5, {Fill Color( 6 )}, Item ID( "14 M", 1 ) ),
Properties( 6, {Fill Color( 27 )}, Item ID( "15 F", 1 ) ),
Properties( 7, {Fill Color( 27 )}, Item ID( "15 M", 1 ) ),
Properties( 8, {Fill Color( 26 )}, Item ID( "16 F", 1 ) ),
Properties( 9, {Fill Color( 26 )}, Item ID( "16 M", 1 ) ),
Properties( 10, {Fill Color( 12 )}, Item ID( "17 F", 1 ) ),
Properties( 11, {Fill Color( 12 )}, Item ID( "17 M", 1 ) )
)}
)
);

Una soluzione è creare una nuova colonna che sia la concatenazione delle colonne Anno e Auto
combina = char(:anno) || " " || :auto;
Quindi usa questa nuova colonna come colonna del colore nel tuo Costruttore di grafici. Puoi quindi rendere ogni singola barra di qualsiasi colore tu voglia che siano.Di seguito è riportato un esempio simile utilizzando la tabella di dati di esempio di Big Class

A volte ho lo stesso problema.
Con 6 elementi nella colonna A e 2 elementi nella colonna B, è comunque divertente colorare manualmente i sottoinsiemi distinti 6x2.
Ma ci sono altri casi in cui è necessario del tempo per assegnare manualmente i colori corretti.
caso di applicazione:
- usa la colonna A come colore
- usa la colonna B = escluso() per dare ai punti esclusi un colore grigio
Per tali applicazioni, GraphBuilder: sovrascrivi Dropzone potrebbe essere una caratteristica potente.