que - formula para sacar las barras de error
Dibuja el final vertical de la lĂnea de barra de error en dotplot (1)
He tenido la misma necesidad en el pasado, con barchart()
lugar de con Dotplot()
.
Mi solución fue crear una función de panel personalizada que: (1) primero ejecuta la función del panel original; y (2) luego usa panel.arrows()
para agregar la barra de error (usando una flecha de dos cabezas, en la cual los bordes de la cabeza forman un ángulo de 90 grados con el eje).
Dotplot()
es lo que podría parecer con Dotplot()
:
# Create the customized panel function
mypanel.Dotplot <- function(x, y, ...) {
panel.Dotplot(x,y,...)
tips <- attr(x, "other")
panel.arrows(x0 = tips[,1], y0 = y,
x1 = tips[,2], y1 = y,
length = 0.15, unit = "native",
angle = 90, code = 3)
}
# Use almost the same call as before, replacing the default panel function
# with your customized function.
Dotplot(name ~ Cbind(mean,lo,up),data=d,ylab="",xlab="",col=1,cex=1,
panel = mypanel.Dotplot,
par.settings = list(plot.line=list(col=1),
layout.heights=list(bottom.padding=20,top.padding=20)))
Estoy dibujando dotplot()
usando lattice
o Dotplot()
usando Hmisc
. Cuando uso parámetros predeterminados, puedo trazar barras de error sin pequeñas terminaciones verticales
--o--
pero me gustaría obtener
| --o-- |
Sé que puedo conseguir
| --o-- |
cuando uso centipede.plot () desde plotrix
o segplot () desde latticeExtra
, pero esas soluciones no me dan tan buenas opciones de acondicionamiento como Dotplot()
. par.settings
jugar con par.settings
de plot.line
, que funciona bien para cambiar el color de la línea de barra de error, el ancho, etc., pero hasta ahora no he podido agregar las terminaciones verticales:
require(Hmisc)
mean = c(1:5)
lo = mean-0.2
up = mean+0.2
d = data.frame (name = c("a","b","c","d","e"), mean, lo, up)
Dotplot(name ~ Cbind(mean,lo,up),data=d,ylab="",xlab="",col=1,cex=1,
par.settings = list(plot.line=list(col=1),
layout.heights=list(bottom.padding=20,top.padding=20)))
Por favor, no me des soluciones que usen ggplot2 ...