【问题标题】:change look-and-feel of plot to resemble hist将情节的外观更改为类似于 hist
【发布时间】:2011-01-07 16:01:35
【问题描述】:

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

但是,plot 的输出看起来与 hist 的输出完全不同。有谁知道如何将 plot 的输出配置为类似于 hist 的输出?感谢您的帮助。

【问题讨论】:

    标签: r plot histogram


    【解决方案1】:

    链接答案的简化、可重复版本是

    x <- rlnorm(1000)
    hx <- hist(x, plot=FALSE)
    plot(hx$counts, type="h", log="y", lwd=10, lend="square")
    

    要使坐标轴看起来更像“hist-like”,请将最后一行替换为

    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)
    

    【讨论】:

    • 我最终使用了 lwd=24。我还使用 col-attribute 更改了条形的颜色。似乎不可能也为条形添加边框。或者在任何情况下,它都说边框属性不是有效的图形参数。
    【解决方案2】:

    用ggplot2怎么样?

    x <- rnorm(1000)
    qplot(x) + scale_y_log10()
    

    但我同意哈德利在另一篇文章中的评论,即有一个对数刻度的直方图对我来说似乎很奇怪 =)。

    【讨论】:

    • 很遗憾,我无权在我工作的环境中安装 ggplot2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 2020-07-12
    相关资源
    最近更新 更多