格子上的直方图

时间:2012-01-31 14:09:24

标签: r histogram lattice

由于基础R的hist()未报告百分比(并且freq = FALSE)也没有帮助,我转向lattice

histogram(rnorm(10000))

请帮我解决以下问题:

  1. 我如何摆脱情节周围的盒子?
  2. 如何单独定义x / y标签和x / y轴的cex?
  3. 如何为x轴和y轴提供自定义名称?

2 个答案:

答案 0 :(得分:6)

或者,如果您想坚持使用hist(),可以稍微修改一下,如下所示。

此函数调用hist()一次以获取其返回值,该值是包含有关直方图结构的各种有用信息的对象。然后使用(a)箱的宽度和(b)每个柱的密度来计算(c)每个柱中观察到的百分比。

histPercent <- function(x, ...) {
   H <- hist(x, plot = FALSE)
   H$density <- with(H, 100 * density* diff(breaks)[1])
   plot(H, freq = FALSE, ...)
}

histPercent(rnorm(10000), col="dodgerblue", las=1,
            xlab="Echs-axis", ylab="Why-axis")

enter image description here

答案 1 :(得分:5)

这应该让你开始:

library(lattice)
histogram(rnorm(10000),     
    main=list(
        label="Main plot title",
        cex=1.5),
    xlab=list(
        label="Custom x-axis label",
        cex=0.75),
    ylab=list(
        label="My very own y-axis label",
        cex=1.2),
    scales=list(cex=0.5),
    par.settings = list(axis.line = list(col = 0))
)

enter image description here