gpt4 book ai didi

ggplot2 - 条形图中仅缺少一个条形图

转载 作者:行者123 更新时间:2023-12-01 13:32:03 24 4
gpt4 key购买 nike

我正在使用 ggplot 制作一个重复的条形图,我几乎得到了我想要的,除了这个我无法修复的错误。

我正在绘制的数据:

      comp     reg counts
1 C0xC12 up 569
2 C0xC12 down 845
3 C0xC24 up 420
4 C0xC24 down 227
5 C0xT12 up 2904
6 C0xT12 down 2989
7 C0xT24 up 2536
8 C0xT24 down 2309
9 C12xC24 up 314
10 C12xC24 down 138
11 C12xT12 up 3006
12 C12xT12 down 3082
13 C12xT24 up 2795
14 C12xT24 down 2577
15 C24xT12 up 1381
16 C24xT12 down 1901
17 C24xT24 up 482
18 C24xT24 down 862
19 T12xT24 up 1732
20 T12xT24 down 1464
21 C0xC12 uppcw 7
22 C0xC12 downpcw 15
23 C0xC24 uppcw 10
24 C0xC24 downpcw 4
25 C0xT12 uppcw 56
26 C0xT12 downpcw 58
27 C0xT24 uppcw 49
28 C0xT24 downpcw 41
29 C12xC24 uppcw 8
30 C12xC24 downpcw 2
31 C12xT12 uppcw 64
32 C12xT12 downpcw 50
33 C12xT24 uppcw 48
34 C12xT24 downpcw 39
35 C24xT12 uppcw 35
36 C24xT12 downpcw 40
37 C24xT24 uppcw 11
38 C24xT24 downpcw 15
39 T12xT24 uppcw 33
40 T12xT24 downpcw 30

我正在运行的代码:

teste <- read.table("teste.txt", sep = "\t", header = TRUE)
ggplot(data = teste,
mapping = aes(x = comp, fill = reg,
y = ifelse(test = reg == "down" | reg == "downpcw",
yes = -counts, no = counts))) +
geom_bar(stat = "identity") +
scale_y_continuous(labels = abs, limits = max(teste$counts) * c(-1,1)) +
geom_text(aes(label=counts), vjust=0.5, color="black", size=3.0, nudge_y = c(-130,130))+
labs(y = "DEGs", x = "Groups comparisons") + scale_fill_manual(values=c("#98FB98","#FA8072","#00FF00","#FF0000")) +
scale_x_discrete(limits=c("T12xT24", "C24xT24", "C24xT12", "C12xT24", "C12xT12", "C12xC24", "C0xT24", "C0xT12", "C0xC24","C0xC12")) +
coord_flip()

这就是我得到的情节

enter image description here请注意,“C12xT12”最大的条没有显示,只显示了它的大小 (3082)。

我一直在寻找解决方案,但一无所获,而且我无法单独提出解决方案,所以我想问问以前是否有人处理过这个问题。

最佳答案

问题来自您的scale_y_continuous。您将其设置为 counts 列的最大值,该列截断了 max 列,因为它恰好位于绘图的极限处。如果将最大值乘以 1.05 而不是 1,一切都应该有效。
scale_y_continuous 的相应部分更改为:limits = max(teste$counts) * c(-1.05,1.05)

还有一些最佳实践颜色建议:避免使用红绿色组合,因为约 10% 的男性是色盲,无法区分这些颜色的深浅。

关于ggplot2 - 条形图中仅缺少一个条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57359552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com