Agregar secuencias de comandos gráficos que no se actualizan cuando las filas están ocultas / excluidasQuiero agregar etiquetas de texto a un histograma con la media y la desviación estándar. Descubrí cómo hacerlo a través de la función de personalización para agregar un script de gráficos. Todavía no tengo claro cómo establecer el valor de y, ya que no parece estar conectado a las unidades del eje, pero puedo solucionarlo. Mi problema es que las etiquetas no se actualizan en respuesta a un filtro de datos local, u ocultando / excluyendo filas. Lo único que funciona es eliminar filas. Estoy usando col mean () & col std dev (); ¿Debería estar usando otra cosa?
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :height ),
Summary Statistics( 1 ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Count Axis( 1 ),
Set Quantile Increment( 0.25 ),
Customize Summary Statistics(
Std Err Mean( 0 ),
Upper Mean Confidence Interval( 0 ),
Lower Mean Confidence Interval( 0 ),
N( 0 ),
Median( 0 )
)
),
Histograms Only,
Local Data Filter( Grouped by AND( 1 ), Add Filter( columns( :height ) ) ),
SendToReport(
Dispatch(
{"height"},
"Distrib Histogram",
FrameBox,
{Frame Size( 414, 428 ),
Add Graphics Script(
2,
Description( "Script" ),
Text(
Right Justified,
{72, 0.11},
"Mean: " || Format( Col Mean( :height ), "Fixed Dec", 12, 2 )
);
Text(
Right Justified,
{72, 0.105},
"StdDev: " || Format(
Col Std Dev( :height ),
"Fixed Dec",
12,
2
)
);
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasEl filtro de datos local tiene una tabla privada y no sé cómo manejarlo. Sin embargo, puede obtener el cálculo correcto mediante:
- obtenga las filas filtradas de los datos locales, son filas que quedan después de aplicar la restricción, no se tienen en cuenta las excluidas
- obtener las filas excluidas de la tabla de datos
- Eliminar lo excluido de lo filtrado.
- luego calcula las estadísticas
Este problema con el histograma es que, en mi opinión, la ubicación en el cuadro de cuadros es un problema. Tal vez alguien en el foro pueda explicar cómo configurar el texto como un desplazamiento desde la esquina superior izquierda. Probablemente lo escribiría en su propio cuadro de texto. La siguiente captura de pantalla muestra que el texto coincide con la tabla de resumen. Se adjunta el guión.
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasAhora veo que el filtro de datos local hará que falle. Podría poner el filtro en el nivel de la mesa como una solución, por lo que se ocultaría / excluiría, pero esto funcionará lo suficientemente cerca para mis necesidades inmediatas. Gracias.
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasGracias. El código que utilicé para el ejemplo de Graph Builder es usar el mismo texto (centro justificado, {_x_, _y_}, "_text_"); comando que usé para el ejemplo de la plataforma de distribución, por lo que no tengo claro cómo funcionaría la sintaxis.
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasVer mi post sobre el Col Mean (). Además, si estás usando un TextBox (tu código no está visible) puedes usar el marcado para subrayar el texto. Este es el ejemplo del índice de scripts JMP para Display Box> TextBox> Markup
Names Default To Here( 1 );
win = New Window( "Example", fontobj = text = Text Box( "Example Text" ) );
text << setText(
"This is <B>bold</B> text. This is <I>italic</I> text. This is <U>underlined</U> text. This is <B><I><U>bold, italic, underlined</U></I></B> text."
);
text << markup;
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidas**** Ignora esta sugerencia. Este es un filtro de datos local, por lo que las filas de la tabla no están excluidas ***
Una alternativa es usar solo filas no excluidas
Text(
Right Justified,
{72, 0.11},
"Mean: " || Format( Col Mean( If(Excluded(),empty(),1)*:height ), "Fixed Dec", 12, 2 )
);
Text(
Right Justified,
{72, 0.105},
"StdDev: " || Format(
Col Std Dev(If(Excluded(),empty(),1) *:height ),
"Fixed Dec",
12,
2
)
);
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasNo veo una forma de subrayar el texto, excepto si agregó una función de línea () debajo de la palabra
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasGracias. ¿Conoces alguna forma de subrayar el texto? He añadido encabezados, y por ahora he ampliado el texto y lo ha compensado, pero se vería mejor subrayado.
Además, ¿tiene alguna idea de cómo hacer que esto funcione en Graph Builder, ya que no tiene estadísticas de resumen de las cuales obtener información?

Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasparece que la posición del eje Y es Y / 100
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidas¿Alguna orientación sobre cómo elegir el valor _y_? El valor _x_ parece estar vinculado a la escala del eje x, pero el _y_ no lo hace.
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasIncluí las estadísticas de resumen en mi ejemplo para mostrar lo que esperaba que sucediera, pero no había planeado usarlo en mi aplicación. Supongo que podría habilitarlo, pero minimizarlo para que no se incluya cuando copie el gráfico para insertarlo en una presentación. Parece un kludge, y que estas funciones se están comportando de una manera inesperada, pero hará el trabajo. Gracias.
Re: Agregar secuencias de comandos de gráficos que no se actualizan cuando las filas están ocultas / excluidasEl problema que está teniendo es que las funciones Col Mean () y Col Std Dev () no siguen las reglas de datos Excluidos. Así que necesitas tener alguna forma de obtener los valores que deseas. A continuación se muestra una forma de hacerlo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dis = dt << Distribution(
Stack( 1 ),
Automatic Recalc( 1 ),
Continuous Distribution(
Column( :height ),
Summary Statistics( 1 ),
Horizontal Layout( 1 ),
Vertical( 0 ),
Count Axis( 1 ),
Set Quantile Increment( 0.25 ),
Customize Summary Statistics(
Std Err Mean( 0 ),
Upper Mean Confidence Interval( 0 ),
Lower Mean Confidence Interval( 0 ),
N( 0 ),
Median( 0 )
)
),
Histograms Only,
Local Data Filter( Grouped by AND( 1 ), Add Filter( columns( :height ) ) ),
SendToReport(
Dispatch(
{"height"},
"Distrib Histogram",
FrameBox,
{Frame Size( 414, 428 ), Add Graphics Script(
2,
Description( "Script" ),
Text(
Right Justified,
{72, 0.11},
"Mean: " || Format(report(dis)[numbercolbox(1)][1]/* Col Mean( :height )*/, "Fixed Dec", 12, 2 )
);
Text(
Right Justified,
{72, 0.105},
"StdDev: " || Format(report(dis)[numbercolbox(1)][2]/* Col Std Dev( :height )*/, "Fixed Dec", 12, 2 )
);
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);