ggplot2 fill配色固定及柱状图打印FDR数值的方法咨询
固定wobble分组配色方案
ggplot默认离散变量配色按当前数据内分组的出现顺序分配色值,仅存在GC_wobble时会默认取用第一顺位的红色,可通过固定分组与颜色的映射关系解决:
- 先将
wobble列转为固定层级的因子,锁定两个分组的排序:
df2$wobble <- factor(df2$wobble, levels = c("AT_wobble", "GC_wobble"))
- 在原有ggplot代码中添加
scale_fill_manual层,绑定每个分组对应的R默认色值,同时设置drop=FALSE保证无数据的分组也保留映射规则:
scale_fill_manual(values = c("AT_wobble" = "#F8766D", "GC_wobble" = "#00BFC4"), drop = FALSE)
修改后无论数据中是否同时存在两类wobble,都会严格按照映射规则赋值颜色,单独绘制GC_wobble时也会显示为默认的青蓝色。
显示保留4位小数的FDR数值
直接修改aes中的label参数即可实现,无需额外复杂操作:
- 接受极小值显示为科学计数法时,直接用
round函数:
label = round(FDR, 4)
- 希望统一显示为小数格式、避免科学计数法时,用
format函数:
label = format(FDR, digits = 4, scientific = FALSE, trim = TRUE)
原代码中的size判断逻辑可正常保留,无需调整。
内容的提问来源于stack exchange,提问作者Danby
相关产品推荐
相关产品推荐

