改变情节的外观以使其类似于hist

时间:2010-01-21 09:42:44

标签: r plot histogram

我使用这篇文章中的信息创建了一个对数比例的直方图: Histogram with Logarithmic Scale

然而,绘图的输出看起来与hist的输出完全不同。有谁知道如何配置绘图的输出以类似于hist的输出?谢谢你的帮助。

2 个答案:

答案 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位于接近右侧的位置),或者学习使用latticeggplot


编辑: 你不能设置边框颜色,因为条形不是真正的矩形 - 它们只是粗线。我们可以通过在顶部绘制略微更细的线来伪造边框效果。更新的代码是

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()

但我同意哈德利对另一篇文章的评论,即对于我来说,使用对数刻度的直方图看起来很奇怪=)。