【问题标题】:Conditionally changing the colour of a histogram in ggplot, and not displaying both bar outlines?有条件地更改ggplot中直方图的颜色,而不显示两个条形轮廓?
【发布时间】:2016-04-08 05:05:58
【问题描述】:

我想更改直方图一部分的颜色,包括填充和轮廓,但遇到了一些困难。复制下面的代码作为示例:

require(ggplot2)

#make data
rand <- sample(1:500, 1200, replace=T)
dat <- data.frame(val=c(rand), name=c(rep("A",400),rep("B",400),rep("C",400)))
dat$cond <- ifelse(dat$val < 100 & dat$name=="B", "remove", dat$name)

# plot 3 histograms (A, B, C). Colour each histogram differently and colour data <100 in B differently 
ggplot(data=dat, aes(x=val,colour=cond, fill=cond)) +
  geom_histogram(alpha=0.4) +
  facet_wrap(~name, ncol=1)

First attempt.

这里的问题是所有绿条上方的紫线,有什么办法可以去掉?

我还尝试了另一种改变颜色的方法。见下文:

ggplot(data=dat, aes(x=val,colour=name, fill=name)) +
  geom_histogram(alpha=0.4, data=subset(dat, name %in% c("A","C"))) +
  geom_histogram(alpha=0.4, data=subset(dat, val<100 & name=="B"), fill="grey", colour="grey") +
  geom_histogram(alpha=0.4, data=subset(dat, val>=100 & name=="B")) +
  facet_wrap(~name, ncol=1)

Second attempt

所以这修复了条形顶部的线条,但我现在在灰色条形下方有一条绿线。这是在灰色条之后添加到图中的绿色条的结果。我可以颠倒顺序,但这会在绿色条下方形成一个灰色条。有没有什么办法可以在灰色条下面有一条灰线,在绿色条下面有一条绿线?

对于这个问题的挑剔性质,我深表歉意,但我正在制作一张图片以供发布,所以我希望它看起来完美!

【问题讨论】:

  • 画两次,一次不画线,一次不填,你自己管理那里的图层

标签: r ggplot2 colors histogram


【解决方案1】:

为什么不简单地删除条的边缘?

ggplot(data=dat, aes(x=val, fill=cond)) +
  geom_histogram(alpha=0.4) +
  facet_wrap(~name, ncol=1)

【讨论】:

    【解决方案2】:

    我解决了,解决方案是将 drop=TRUE 添加到 geom_histogram 以丢弃计数为零的垃圾箱。然后,这会消除轮廓的覆盖。

    ggplot(data=dat, aes(x=val,colour=name, fill=name)) +
      geom_histogram(alpha=0.4, data=subset(dat, name %in% c("A","C"))) +
      geom_histogram(alpha=0.4, data=subset(dat, val<100 & name=="B"), fill="grey", colour="grey") +
      geom_histogram(alpha=0.4, data=subset(dat, val>=100 & name=="B"), drop=T) +
      facet_wrap(~name, ncol=1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 2021-07-16
      • 2012-08-26
      • 1970-01-01
      • 2022-08-15
      相关资源
      最近更新 更多