【问题标题】:R: clusters in histogramR:直方图中的簇
【发布时间】:2015-01-14 03:46:25
【问题描述】:

我有 6000 份报告。对于每个报告,我都有报告中有多少垃圾。所以我可以制作一个直方图:

boundaries = seq(0,1 , by=0.01) 
hist(hoeveel_rommel_per_rapport, breaks=boundaries)

其中hoeveel_rommel_per_rapport 是一个向量,用于描述每个报告的垃圾。

现在我已经为每个报告获得了一个集群编号。我想在直方图中为所有集群赋予不同的颜色。这可能吗?

例如,第一个堆栈包含 3 个不同的簇,因此它有 3 种颜色。

【问题讨论】:

    标签: r histogram clustered-index


    【解决方案1】:

    我倾向于使用ggplot 来处理这样的事情。以下是一些使用虚构数据的方法(将来,您应该提供您的数据,或者至少提供一个有代表性的样本)。

    set.seed(1)   # for reproducible example
    reports <- data.frame(garbage=rchisq(900,c(10,15,20))/50,cluster=LETTERS[1:3])
    

    这似乎是您正在寻找的 - 堆叠直方图。

    library(ggplot2)
    ggplot(reports) +
      geom_histogram(aes(x=garbage, fill=cluster),binwidth=0.01)
    

    这将三个直方图放在不同的面板中 - 更清晰。

    ggplot(reports) +
      geom_histogram(aes(x=garbage, fill=cluster),binwidth=0.01) +
      facet_wrap(~cluster,nc=1)
    

    在一个面板中重叠密度图。

    ggplot(reports) +
      stat_density(aes(x=garbage, fill=cluster),position="identity",alpha=0.5)
    

    【讨论】:

      【解决方案2】:

      您可以将参数col 传递给您想要的颜色,我不确定通过传递像col = c("green", "red", "blue") 这样的颜色列表是否会满足您的需求,但您当然可以选择它们具有哪种颜色

      【讨论】:

      • 您好,感谢您的回答。我知道这个论点,但我想给每个集群一个不同的颜色。
      • 您能发布一下您尝试过的内容和可重现的示例吗?
      • 我什么都没试过,因为我不知道该怎么做
      • 你研究了什么?
      最近更新 更多