【发布时间】:2020-05-01 15:41:40
【问题描述】:
我正在尝试修改此图例的颜色、标签和中断,但 scale_xxx_yyyy 选项不起作用。有什么建议吗?
我的输入是这样的:
GENE CHR POS key value LOGP
1 A1BG 19 58862834 MAF1P-pval 0.6456014613 0.1900355
2 A1CF 10 52566602 MAF1P-pval 0.0005533904 3.2569684
3 A2M 12 9225025 MAF1P-pval 0.6912238768 0.1603813
4 A2ML1 12 8975786 MAF1P-pval 0.6855731854 0.1639462
5 A4GALT 22 43089044 MAF1P-pval 0.3471331356 0.4595039
6 A4GNT 3 137843236 MAF1P-pval 0.6070832685 0.2167517
....
31205 ZBTB12 6 31868446 CADD20-pval 0.43193898 0.36457760
31206 ZCCHC24 10 81154122 CADD20-pval 0.01495022 1.82535253
31207 ZDHHC21 9 14619044 CADD20-pval 0.79231233 0.10110358
31208 ZMYND19 9 140477032 CADD20-pval 0.89922171 0.04613322
31209 ZNF710 15 90611241 CADD20-pval 0.07090869 1.14930051
31210 ZYG11B 1 53222142 CADD20-pval 0.27036413 0.56805093
变量键被编码为因子。 我使用代码生成了以下图:
ggplot(merge3, aes(x=POS, y=LOGP, color=Key)) + geom_point(size=0.3) +
facet_grid(~CHR, switch="x", scales="free_x") +
theme(axis.text.x=element_blank(),axis.ticks.x=element_blank(), panel.spacing.x=unit(0.001, "lines"), panel.grid = element_blank(), panel.border = element_blank(), strip.background=element_rect(fill="white")) +
labs(title="stacked Manhattan MAF1P, CADD20", y="-log10(p)", x= "chromosome") +
scale_y_continuous(limits=c(0,12), expand = c(0,0)) +
geom_hline(yintercept=5.3, color = "red") +
geom_hline(yintercept=3.3, color = "blue")
结合两个数据集的曼哈顿图
现在,我尝试使用以下方法修改图例的不同方面,例如颜色、标题、标签或中断:
bp + scale_x_discrete(limits=c("MAF1"<="1%","CADD">="20"))
bp + scale_fill_discrete(name="Gene Sets", breaks=c("MAF <= 1%","CADD >=20"), labels=c("MAF1"<="1%","CADD">="20"))
bp + scale_fill_manual(values = c("#d8b365", "#f5f5f5"))
但这些都不起作用,我只能通过以下方式更改图例标题:
bp + labs(colour="Gene Sets")
任何建议将不胜感激
【问题讨论】:
-
我看到了一些可能会有所帮助的想法。首先,您映射到
color而不是fill。由于这是一个离散值,请尝试scale_color_manual()或scale_color_discrete()。其次,您用于x的POS变量在我看来是连续的而不是离散的,这可能解释了为什么scale_x_discrete()不适合您。 -
嗨,奥史密斯!
scale_color_manual()工作!!!谢谢!!!但不幸的是,将 POS 从连续修改为离散后的 scale_x_discrete() 不是。我想我最后的手段是更改数据框中关键变量及其级别的描述 -
为什么你需要 x 是离散的?是基因的位置吧?或者你想改变图例的顺序,比如在 CADD 之前有 MAF
-
@StupidWolf 是的,你是对的,我希望能够改变图例的顺序,以及它的内容,以便能够引入像 这样的特殊字符
-
@StupidWolf 感谢您在下面提出的建议,效果很好。是的,当我介绍上面的代码时,key vs Key 是一个错字,我的错
标签: r ggplot2 colors label legend