我使用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的条纹着色并留下未填充的剩余部分,我该怎么做?
您可以调整它以满足您的需求,但这是基本概念:
我们将定义一个新的二进制变量,用于确定是否填充条形.我们将其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()在保存图像之前我忘记了,所以你的里程可能会有所不同,但请考虑这是一个概念证明:
