Hola a todos,
Tengo una pregunta aparentemente simple para la que no puedo encontrar la respuesta. He hecho un gráfico de barras y me gustaría personalizar el color de relleno de cada gráfico de barras individualmente. El gráfico es el costo en el eje y y la marca del automóvil en el eje x, y cada marca de automóvil tiene dos años. La razón es que tengo un color de relleno general según el año (2017 y 2018), pero me gustaría resaltar ciertas marcas de automóviles con un color diferente (por ejemplo, Honda 2017 sería diferente del resto de las marcas de automóviles de 2017, y Honda 2018 sería diferente al resto de marcas de coches de 2018).
¿Hay alguna manera de hacer esto fácilmente en la creación de gráficos o mediante el código?
Gracias de antemano.
El siguiente guión amplía el de Jim, @txnelson , excelente sugerencia, que demuestra cómo establecer colores específicos usando JSL para modificar el Modelo Leyenda.
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 solución es crear una nueva columna que sea la concatenación de las columnas Año y Coche.
combinar = char(:año) || " " || :auto;
Luego use esta nueva columna como la columna de color en su Graph Builder. Luego puede hacer que cada barra individual tenga los colores que desee.A continuación se muestra un ejemplo similar utilizando la tabla de datos de muestra de Big Class

A veces tengo el mismo problema.
Con 6 elementos en la columna A y 2 elementos en la columna B, sigue siendo divertido colorear manualmente los distintos subconjuntos de 6x2.
Pero hay otros casos en los que lleva un tiempo asignar manualmente los colores correctos.
caso de aplicación:
- utilizar la columna A como color
- use la columna B = excluido() para darle a los puntos excluidos un color gris
Para tales aplicaciones, GraphBuilder: sobrescribir Dropzone podría ser una característica poderosa.