el cambio de look-and-feel de la trama para parecerse hist
Pregunta
I utiliza la información de este post para crear un histograma con escala logarítmica: Histograma con escala logarítmica
Sin embargo, la salida de la trama parece en nada a la salida de la hist. ¿Alguien sabe cómo configurar la salida de trama para asemejarse a la salida de la hist? Gracias por la ayuda.
Solución
A, versión reproducible simplificada de la respuesta vinculado es
x <- rlnorm(1000)
hx <- hist(x, plot=FALSE)
plot(hx$counts, type="h", log="y", lwd=10, lend="square")
Para obtener los ejes de aspecto más "hist-like", en lugar de la última línea con
plot(hx$counts, type="h", log="y", lwd=10, lend="square", axes = FALSE)
Axis(side=1)
Axis(side=2)
Obtención de los bares para unirse va a ser una pesadilla con este método. Sugiero con ensayo y error con los valores de lwd
(en este ejemplo, 34 es un lugar cerca de mirando a la derecha), o aprender a usar lattice
o ggplot
.
EDIT: No se puede establecer un color de borde, ya que las barras no son realmente rectángulos - son sólo líneas de grasa. Nos puede falsificar el efecto frontera dibujando ligeramente más delgadas líneas sobre la parte superior. El código actualizado es
par(lend="square")
bordercol <- "blue"
fillcol <- "pink"
linewidth <- 24
plot(hx$counts, type="h", log="y", lwd=linewidth, col=bordercol, axes = FALSE)
lines(hx$counts, type="h", lwd=linewidth-2, col=fillcol)
Axis(side=1)
Axis(side=2)
Otros consejos
¿Y si uso ggplot2?
x <- rnorm(1000)
qplot(x) + scale_y_log10()
Pero estoy de acuerdo con el comentario de Hadley en el otro post que tener un histograma con una escala logarítmica parece extraño para mí =).