Coerce Bars en PlotColBox para dibujar desde 0 OrigenOye comunidad
Estoy intentando imitar un cuadro de tabla en un informe como el que obtienes con TukeyHSD en Fit Y by X, pero tengo un problema con el gráfico de barras dibujado en un PlotColBox. Las longitudes de las barras se trazan con intervalos de confianza para cada barra. Mi problema es que quiero que las barras se dibujen desde el origen para que pueda ver visualmente dónde cae el límite de confianza inferior a 0 (lo que indica un resultado no significativo), pero las barras se están extrayendo del valor mínimo en la escala . No puedo encontrar nada en el índice de secuencias de comandos para modificar este comportamiento.
En última instancia, debería parecerse mucho a la trama en este informe de diferencias ordenadas:
Esto es lo que estoy obteniendo (ejemplo de trabajo mínimo mostrado aquí):
Establecí el rango en el eje horizontal en el gráfico usando << Establecer escala y estableciéndolo igual al LCL mínimo y al UCL máximo, de modo que el trazado sea lo suficientemente ancho para mostrar todos los valores LCL y UCL, pero esto causa que las barras Para ser dibujado a partir del mismo valor mínimo.
Aquí hay un script para el ejemplo de trabajo mínimo:
diffs = {14.5833333333333, 13.25, 13.1666666666667, 12.4166666666667, 11.8333333333333,
11.75, 11, 10.4166666666667, 9.58333333333333, 2.83333333333333, 2.16666666666667,
1.41666666666667, 1.41666666666667, 1.33333333333333, 0.833333333333334};
lcls = {7.61907259396521, 8.36035077512539, 6.22561115938687, 7.05705972526408,
6.99299436545608, 4.7114849776621, 5.68093889133607, 5.37459986573576,
4.09680778320344, -0.348570126295593, -5.63501808685501, -1.64446371477212,
-1.1943038377427, -6.25265936207625, -5.48781669649702};
ucls = {21.5475940727015, 18.1396492248746, 20.1077221739465, 17.7762736080693,
16.6736723012106, 18.7885150223379, 16.3190611086639, 15.4587334675976,
15.0698588834632, 6.01523679296226, 9.96835142018835, 4.47779704810545,
4.02763717107603, 8.91932602874292, 7.15448336316369};
New Window("Results",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals[sort], Set Format(7, 97), Set Conditional Format("pValue")),
Plot Col Box("", diffs, Upper(matrix(ucls)), Lower(matrix(lcls)), Set Scale(min(lcl), max(ucl)))
)
);
Gracias de antemano por la ayuda!
Re: Coerce Bars en PlotColBox para dibujar desde 0 Origen @cwillden Esto también funciona:
scl = evallist({min(lcls), max(ucls)});
New Window("Results",
OutlineBox("Custom Table",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals, Set Format(7, 97), Set Conditional Format("pValue")),
pcb = Plot Col Box("", scl )
)
)
);
pcb << add element(diffs);
pcb << delete row(2);
pcb << delete row(1);
pcb << lower(matrix(lcls));
pcb << upper(matrix(ucls));
Re: Coerce Bars en PlotColBox para dibujar desde 0 Origen¡Gran idea! Déjame trabajar esto en mi script real, pero espero que esto funcione perfectamente. ¡Gracias!
Re: Coerce Bars en PlotColBox para dibujar desde 0 OrigenHola Cameron, esto parece funcionar:
- Fijar el tamaño con valores ficticios.
- Retire los maniquíes.
Names Default to Here(1);
diffs = {14.5833333333333, 13.25, 13.1666666666667, 12.4166666666667, 11.8333333333333,
11.75, 11, 10.4166666666667, 9.58333333333333, 2.83333333333333, 2.16666666666667,
1.41666666666667, 1.41666666666667, 1.33333333333333, 0.833333333333334};
lcls = {7.61907259396521, 8.36035077512539, 6.22561115938687, 7.05705972526408,
6.99299436545608, 4.7114849776621, 5.68093889133607, 5.37459986573576,
4.09680778320344, -0.348570126295593, -5.63501808685501, -1.64446371477212,
-1.1943038377427, -6.25265936207625, -5.48781669649702};
ucls = {21.5475940727015, 18.1396492248746, 20.1077221739465, 17.7762736080693,
16.6736723012106, 18.7885150223379, 16.3190611086639, 15.4587334675976,
15.0698588834632, 6.01523679296226, 9.96835142018835, 4.47779704810545,
4.02763717107603, 8.91932602874292, 7.15448336316369};
p_vals = {.00001, .00002, .00003, .00004, .00005, .0003, .00006, .00007, .0001, .0557,
.9247, .6006, .4466, .9888, .9972
};
ndiffs = Insert(diffs, eval List({min(lcls), max(ucls)} ) );
New Window("Results",
OutlineBox("Custom Table",
tb = Table Box(
Number Col Box("Difference", diffs),
Number Col Box("LCL", lcls),
Number Col Box("UCL", ucls),
Number Col Box("p-Value", p_vals, Set Format(7, 97), Set Conditional Format("pValue")),
pcb = Plot Col Box("", ndiffs)
)
)
);
nr = nitems(ucls);
pcb << delete row(nr+2);
pcb << delete row(nr+1);
pcb <<LOWER></LOWER>
