我使用这篇文章中的信息创建了一个对数比例的直方图: Histogram with Logarithmic Scale
然而,绘图的输出看起来与hist的输出完全不同。有谁知道如何配置绘图的输出以类似于hist的输出?谢谢你的帮助。
答案 0 :(得分:2)
链接答案的简化,可重现的版本是
x <- rlnorm(1000)
hx <- hist(x, plot=FALSE)
plot(hx$counts, type="h", log="y", lwd=10, lend="square")
要使轴看起来更“类似于”,请用
替换最后一行plot(hx$counts, type="h", log="y", lwd=10, lend="square", axes = FALSE)
Axis(side=1)
Axis(side=2)
使用此方法让酒吧加入将成为一场噩梦。我建议使用值为lwd
的试错法(在此示例中,34位于接近右侧的位置),或者学习使用lattice
或ggplot
。
编辑: 你不能设置边框颜色,因为条形不是真正的矩形 - 它们只是粗线。我们可以通过在顶部绘制略微更细的线来伪造边框效果。更新的代码是
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)
答案 1 :(得分:1)
如何使用ggplot2?
x <- rnorm(1000)
qplot(x) + scale_y_log10()
但我同意哈德利对另一篇文章的评论,即对于我来说,使用对数刻度的直方图看起来很奇怪=)。