【问题标题】:Color of histograms from data frame in RR中数据框的直方图颜色
【发布时间】:2015-01-16 16:55:54
【问题描述】:

在 R 中,hist.data.frame(来自 Hmisc)为数据框中的每一列生成一个直方图,但我不知道如何更改条形的颜色。有什么办法可以做到吗?

library(Hmisc)
tmp<-data.frame(c(1,1,2,3),c(2,2,1,3))

# histograms of both columns, in white. how do I get them in blue?
hist(tmp)

【问题讨论】:

  • hist 传递 data.frame 参数?
  • 对不起,我不明白你的问题?
  • hist 不接受数据帧,问题不在col 参数中。你可能想看看:stackoverflow.com/questions/3541713/…
  • 啊,谢谢大家!我在后台加载了包Hmisc,但没有意识到我在隐式调​​用hist.data.frame。我怀疑这个函数根本不支持颜色。是否有替代方案?
  • @Jeff 你到底需要做什么?在同一张图上绘制两个直方图?如果是这样,请查看上面链接的问题。

标签: r graphics histogram hmisc


【解决方案1】:

Hmisc 的hist.data.frame 函数没有颜色参数选项。所有对 base hist() 的调用都没有颜色参数。一个非常 hack-y 的解决方法是创建您自己的 hist.data.frame 来临时重新定义 hist() 函数并允许您更改颜色。例如

hist.data.frame <- function(x, ..., colors=rainbow(ncol(x))) {
    col<-1
    hist<-function(...) {
        graphics::hist(..., col=colors[col])
        col <<- col+1
    }
    f <- Hmisc:::hist.data.frame
    environment(f) <- environment()
    f(x,...)
}

hist(iris)

【讨论】:

  • 谢谢! hack-y 与否,它比我写的要好。
猜你喜欢
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-15
  • 2016-11-05
相关资源
最近更新 更多