如何为条形图中的特定条形图着色(qplot,ggplot2)

Jan*_*ana 5 r ggplot2

我使用qplot绘制了一个facet图,我使用"fill"选项根据它们的值为条形颜色(高=红色,med =紫色,低=蓝色)

http://i.stack.imgur.com/raEzA.png

我的代码是:

x = qplot(as.character(exon),Divergence_from_Average, data=HRA_LR,     
  geom="histogram",fill=abs(Divergence_from_Average)) 
y = x +facet_grid(~probeset_id, scales="free_x", space= "free") + theme_bw() +     
  opts(title="GRP78/HSPA5  (HRN vs LR)") 
Run Code Online (Sandbox Code Playgroud)

如果我只需要将高于0.3的条纹着色并留下未填充的剩余部分,我该怎么做?

Cha*_*ase 8

您可以调整它以满足您的需求,但这是基本概念:

我们将定义一个新的二进制变量,用于确定是否填充条形.我们将其fill作为一个因素传递给论证,并用scale_colour_manual它们给我们想要的颜色.我也将colour参数设置为红色,以便您可以在白色背景上看到白条.

#Sample data
df <- data.frame(
    divergence = rnorm(10), 
    exons = paste("E", sample(1:20, 10, TRUE), sep = ""), 
    probset_id = sample(letters, 10, FALSE) 
)

#Binary flag for fill
df$fill <- with(df, ifelse(divergence > .3, 1,0))


ggplot(data = df, aes(as.character(exons), divergence, fill = factor(fill))) +
    geom_histogram(colour = "red", legend = FALSE) +
    scale_fill_manual(values = c("1" = "red", "0" = "white"), legend = FALSE) +
    facet_grid(~ probset_id, scales="free_x", space= "free") +
    theme_bw() + opts(title="GRP78/HSPA5  (HRN vs LR)")
Run Code Online (Sandbox Code Playgroud)

会产生这样的东西.set.seed()在保存图像之前我忘记了,所以你的里程可能会有所不同,但请考虑这是一个概念证明:

在此输入图像描述