Generador de gráficos: cambie la línea de ancho de la gráfica paralela cuando haya una variable de colorHola todos,
Hago un gráfico paralelo y uso una variable para colorear las líneas. Por ejemplo, utilizo el siguiente script con la tabla Big Class:
obj = Graph Builder(
Size( 636, 660 ),
Variables( X( :height ), X( :weight, Position( 1 ) ), Color( :age ) ),
Elements( Parallel( X( 1 ), X( 2 ), Legend( 3 ) ) )
);
Entonces me gustaría modificar el ancho de la línea. Traté de ejecutar esto:
frame = Report( obj )[FrameBox(1 )];
seg = frame << Find Seg( "Polyline Seg" );
seg << Set Line Width(3);
pero modificó solo las líneas asociadas con el primer nivel de mi variable Color (edad en este ejemplo).
¿Cómo puedo modificar todas las líneas simultáneamente? ¿Debo usar la función Despacho cuando creo el gráfico? Sin embargo, realmente no sé cómo manejarlo, ya que no conozco de antemano el número de niveles de la variable Color.
¡Gracias de antemano por tu ayuda!
GráficosScriptingRe: Graph Builder: cambiar la línea de ancho de la gráfica paralela cuando hay una variable de colorNo estoy seguro de por qué su código no funciona según lo previsto para usted. Me funciona (JMP 15 para Mac).
Un enfoque alternativo es utilizar Xpath.
(obj << xpath( "//PolylineSeg" )) << Set Line Width( 3 );
Re: Graph Builder: cambiar la línea de ancho de la gráfica paralela cuando hay una variable de colorHola ann
Basándome en un par de experimentos que realicé, primero me gustaría asegurarme de que su problema sea con la leyenda y no con la trama de GB. Si es el caso, noté que cuando cambia el ancho de línea manualmente dentro del menú Personalizar, las leyendas tampoco se actualizan correctamente. Por lo tanto, esto parece ser un error.
Sin embargo, cuando cambia manualmente el ancho de línea uno por uno en la Leyenda, tanto las curvas como la Leyenda se actualizan.
El código correspondiente (para un elemento Legend extraído del script GB) es el siguiente:
obj << SendToReport( Dispatch( {}, "400", ScaleBox, {Legend Model (3, Properties (2, {Line Width (3)}, Itemd ID ("14", 1) ) )}));
Entonces, para recorrer los elementos de la leyenda (es decir, edades), se me ocurrió el siguiente código "feo":
Names Default to Here (1);
dt = current data table ();
dts = dt << Summary(
Group( :age ),
Freq( "None" ),
Weight( "None" ),
invisible
);
dlist = Column (dts, "age") << get values;
Close (dts, NoSave);
show (dlist);
obj = dt << Graph Builder(
Size( 636, 660 ),
Variables( X( :height ), X( :weight, Position( 1 ) ), Color( :age ) ),
Elements( Parallel( X( 1 ), X( 2 ), Legend( 3 ) ) )
);
objr = obj << report;
//frame = objr [FrameBox(1 )]; NO LONGER NEEDED
//seg = frame << Find Seg( "Polyline Seg" ); NO LONGER NEEDED
//seg << Set Line Width(6); NO LONGER NEEDED
For (i = 0, i < N Items (dlist), i++,
obj << SendToReport( Dispatch( {}, "400", ScaleBox, {Legend Model (3, Properties (i, {Line Width (12)}, Itemd ID (dlist [i], 1) ) )}))
);
Re: Graph Builder: cambiar la línea de ancho de la gráfica paralela cuando hay una variable de colorGracias @Sra y @Thierry_S por sus respuestas!
De hecho, mi objetivo es cambiar el ancho de línea del gráfico y no solo de la leyenda.
Elijo la solución de @Sra ya que es un poco más corto, ¡pero ambos funcionan a la perfección!:)