Subtítulos dinámicos del generador de gráficosHola, esperaba que alguien pudiera ayudarme a encontrar la manera de que el subtítulo de mi gráfica tomara min(:Year) y max(:Year) y los usara. Por lo tanto, si el año mínimo fuera 2018 y el máximo 2025, el subtítulo sería "2018 - 2025".
Automatización y scriptingRe: Subtítulos dinámicos del generador de gráficosmin/max del filtro de datos local - ¿o del conjunto de datos completo?
Para el filtro de datos, consulte https://marketplace.jmp.com/appdetails/Barra de herramientas del generador de gráficos
Uno de los atajos le permite utilizar la configuración del filtro de datos como título (no subtítulo).
Re: Subtítulos dinámicos del generador de gráficosPara ajustar el subtítulo, vaya a C:\Usuarios\_nombre de usuario_\AppData\Roaming\JMP\JMP\Addins\hogi.GraphBuilderToolbar\resetAxisLabels.jsl
y cambiar la línea 36 a
gb[Text Edit Box( 2 )] << Set Text( title ); // was Text Edit Box( 1 )
Re: Subtítulos dinámicos del generador de gráficosY según los datos de la tabla, es algo así:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/US Regional Population.jmp" );
:Year << data type(numeric);
Graph Builder(
Show Subtitle( 1 ),
Variables( X( :Year ), Y( :Population ), Overlay( :Region ) ),
Elements( Line( X, Y ) )
);
dt << select where (:year < 1950 ) << exclude(1) << select where(0);
// ---------------
myRows=where(dt, not (excluded()));
min = Char(min (dt[myRows,"Year"]));
max = Char(min (dt[myRows,"year"]));
((Current Report() << XPath( "//OutlineBox[@helpKey='Data Filter']" )) << get scriptable object) << Show Subtitle( 1 ) ;
current report()[Text Edit Box( 2 )] << Set Text( min || " — " || max );
Re: Subtítulos dinámicos del generador de gráficosSupongo que, al hablar de subtítulos "dinámicos", te refieres al uso del filtro de datos local. Tendrás que usar un script para agregar el controlador de cambios de filtro a tu filtro de datos local.
No estoy seguro de qué tan sólido sea este ejemplo, pero da una idea de cómo usar el controlador de cambio de filtro <<.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Show Subtitle(1),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Local Data Filter(Add Filter(columns(:height)))
);
// Reference to filter
ob_filter = (gb << Top Parent) << XPath("//OutlineBox[@helpKey='Data Filter']");
ob_filter = ob_filter[1];
ldf = ob_filter << Get Scriptable Object;
f = Function({a},
dt = gb << Get Data Table;
w = ldf << Get where clause;
If(Is missing(w),
minval = Col Min(:height);
maxval = Col Max(:height);
,
Substitute Into(w, "Select ", "Get Rows ");
r = Eval(EvalExpr(Send(dt, Expr(Parse(w)))));
minval = Min(dt[r, "height"]);
maxval = Max(dt[r, "height"]);
);
title = Eval Insert("^minval^ < height: < ^maxval^");
gb << Dispatch({}, "graph 1 title", TextEditBox, {Set Text(title)});
);
rs = ldf << Make Filter Change Handler(f);
f(0); // run once
Re: Subtítulos dinámicos del generador de gráficosDiscusión relacionada - con soluciones similares:
¿Es posible actualizar dinámicamente la selección de elementos basada en el "título del gráfico" en el filtro de datos local (incluidas selecciones múltiples)?
Aquí hay deseos de agregar esta función a JMP, sin necesidad de scripts:
Población automática de títulos - generador de gráficos
Filtro de datos locales: opción que utiliza la selección como título del gráfico
La idea: el usuario puede especificar qué entradas del filtro de datos se agregan al título:

Re: Subtítulos dinámicos del generador de gráficosHola, disculpa la confusión. Debería haber sido más específico. De todo el conjunto de datos. A medida que mi conjunto de datos se actualiza, me gustaría que esas fechas también se actualizaran en el subtítulo.
Re: Subtítulos dinámicos del generador de gráficos¿Como esto?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/US Regional Population.jmp" );
dt:Year << Data Type( "Numeric" );
dt << Graph Builder(
Show Control Panel( 0 ),
Show Subtitle( 1 ),
Variables( X( :Year ), Y( :Population ), Overlay( :Region ) ),
Elements( Points( X, Y, Legend( 18 ) ) ),
SendToReport(
Dispatch( {}, "graph 1 title", TextEditBox,
{Set Text( Char( Col Min( :Year ) ) || " - " || Char( Col Max( :Year ) ) )}
)
)
);
Re: Subtítulos dinámicos del generador de gráficos¡Funcionó de maravilla! ¡Muchas gracias!