Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将条形图划分为;第「;使用ggplot2_R_Ggplot2_Bar Chart - Fatal编程技术网

R 将条形图划分为;第「;使用ggplot2

R 将条形图划分为;第「;使用ggplot2,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我想把柱状图分成几个区域,这样X轴的某些区域就位于这些区域内。我会试着附上两张照片。有绿线的那个是我想要复制的(但绿线对我来说并不重要),另一个是我现在的情节。(我希望这是这个问题的正确答案,如果不是,很抱歉) “copy_Ae”包含反密码发生的次数。 我设法在x轴上有同样的安排 因此,我想创建一个带有“ALAIN”的区域(以及其他区域),该区域覆盖X轴上的GCA到GCG范围 多谢各位 编辑:输出$dput(t): 您的数据仍然缺少矩形的分组。所以我从你们的例子中取了它们,并计算了它,但它没有对

我想把柱状图分成几个区域,这样X轴的某些区域就位于这些区域内。我会试着附上两张照片。有绿线的那个是我想要复制的(但绿线对我来说并不重要),另一个是我现在的情节。(我希望这是这个问题的正确答案,如果不是,很抱歉)

“copy_Ae”包含反密码发生的次数。 我设法在x轴上有同样的安排

因此,我想创建一个带有“ALAIN”的区域(以及其他区域),该区域覆盖X轴上的GCA到GCG范围

多谢各位

编辑:输出$dput(t):


您的数据仍然缺少矩形的分组。所以我从你们的例子中取了它们,并计算了它,但它没有对齐,我猜是因为它是一种不同的类型。 希望对你有帮助

tlabel <- read.table(text="Alanine 4 0
Arginine 6 0
Asparagine 2 90
Aspartate 2 90
Cysteine 2 90
Glutamate 2 90
Glycine 5 0
Histidine 2 90
Isoleucine 3 90
Leucine 6 0
Lysine 2 0
Methoinine 1 90
Phenylalanine 2 90
Proline 3 0
Serine 6 0
STOP 3 0
Threonine 4 0
Tryptophan 1 90
Tyrosine 2 90
Valine 4 0", sep=" ", stringsAsFactor=F)

tlabel$V2[1] <- tlabel$V2[1]+0.5 
tlabel$end <- cumsum(tlabel$V2)
tlabel$start <- tlabel$end - tlabel$V2
tlabel$start[1] <- 0.5


ggplot() +
  geom_bar(data=t, aes(anticodon, copy_Ae),stat = "identity") +
  geom_text(data=t, aes(anticodon, copy_Ae, label = copy_Ae), hjust = 0.5, vjust = -0.5, size = 6) +
  geom_rect(data=tlabel, aes(xmin=start,
                             xmax=end, 
                             ymin=0,ymax=110), fill=NA, color="black")+
  geom_text(data=tlabel, aes((end-start)/2+start, 80, label = V1), 
            size = 2, angle=tlabel$V3) +
  labs(y = "Frequency", x = "Anti Codons") +
  theme(plot.title = element_text(size = 20, hjust = 0.5),
        axis.title = element_text(size = 16),
        axis.text.x = element_text(angle = 90, vjust = 0.5, size = 16))

tlabel Hi Max,如果您可以添加一部分数据,这将非常有帮助。我认为在图片中,用户使用了某种几何校正。我没有更多的数据。.csv文件由3行组成(“反密码子”行=GCA、GCT等;其他2行包含2个物种的反密码子数量(GCA、GCT等)。但也许geom_èrect是正确的。我得查一查,你给出的代码不能用你给出的数据执行。您的数据仅包含
t$anticodon
,而您的绘图使用
t$copy\u Ae
。请提供允许人们重现您的绘图的全部数据。没问题,只需使用
dput(t)
并将结果复制到您的问题中即可。这里还有更多关于如何提问的有用信息。啊,谢谢你。我已经添加了输出。
library(ggplot2);
ggplot(t, aes(t$anticodon, t$copy_Ae)) +
  geom_bar(stat = "identity") +
  labs(y = "Frequency", x = "Anti Codons") +
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, size = 16)) +
  geom_text(aes(label = t$copy_Ae), hjust = 0.5, vjust = -0.5, size = 6) +
  theme(plot.title = element_text(size = 20, hjust = 0.5)) +
  theme(axis.title = element_text(size = 16))
> dput(t)
structure(list(X = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA), anticodon = structure(c(30L, 54L, 
52L, 7L, 55L, 31L, 17L, 44L, 49L, 18L, 56L, 65L, 9L, 4L, 10L, 
21L, 19L, 22L, 58L, 53L, 11L, 59L, 32L, 60L, 57L, 25L, 20L, 26L, 
45L, 12L, 46L, 27L, 24L, 47L, 61L, 33L, 37L, 38L, 28L, 48L, 41L, 
36L, 42L, 63L, 43L, 2L, 40L, 64L, 50L, 3L, 5L, 51L, 13L, 1L, 
16L, 8L, 15L, 39L, 23L, 35L, 14L, 6L, 34L, 62L, 29L), .Label = c("AAA", 
"AAC", "AAG", "AAT", "ACA", "ACC", "ACG", "ACT", "AGA", "AGC", 
"AGG", "AGT", "ATA", "ATC", "ATG", "ATT", "CAA", "CAC", "CAG", 
"CAT", "CCA", "CCC", "CCG", "CCT", "CGA", "CGC", "CGG", "CGT", 
"CTA", "CTC", "CTG", "CTT", "GAA", "GAC", "GAG", "GAT", "GCA", 
"GCC", "GCG", "GCT", "GGA", "GGC", "GGG", "GGT", "GTA", "GTC", 
"GTG", "GTT", "NNN", "TAA", "TAC", "TAG", "TAT", "TCA", "TCC", 
"TCG", "TCT", "TGA", "TGC", "TGG", "TGT", "TTA", "TTC", "TTG", 
"TTT"), class = "factor"), codon = structure(c(20L, 53L, 31L, 
8L, 21L, 18L, 33L, 56L, 65L, 64L, 7L, 36L, 47L, 28L, 2L, 58L, 
35L, 24L, 46L, 27L, 42L, 1L, 37L, 41L, 5L, 50L, 38L, 4L, 60L, 
55L, 14L, 44L, 6L, 26L, 54L, 40L, 15L, 23L, 57L, 12L, 49L, 29L, 
3L, 19L, 43L, 62L, 48L, 17L, 30L, 32L, 16L, 61L, 59L, 39L, 11L, 
45L, 25L, 9L, 10L, 34L, 13L, 22L, 63L, 51L, 52L), .Label = c("GCA", 
"GCT", "GCC", "GCG", "AGA", "AGG", "CGA", "CGT", "CGC", "CGG", 
"AAT", "AAC", "GAT", "GAC", "TGC", "TGT", "CAA", "CAG", "GAA", 
"GAG", "GGA", "GGT", "GGC", "GGG", "CAT", "CAC", "ATA", "ATT", 
"ATC", "TTA", "CTA", "CTT", "TTG", "CTC", "CTG", "AAA", "AAG", 
"ATG", "TTT", "TTC", "CCA", "CCT", "CCC", "CCG", "AGT", "TCA", 
"TCT", "AGC", "TCC", "TCG", "TAA", "TAG", "TGA", "ACA", "ACT", 
"ACC", "ACG", "TGG", "TAT", "TAC", "GTA", "GTT", "GTC", "GTG", 
"NNN"), class = "factor"), copy_Ae = c(5L, 6L, 2L, 6L, 5L, 2L, 
5L, 98L, 5L, 2L, 3L, 12L, 5L, 10L, 6L, 4L, 2L, 1L, 6L, 3L, 2L, 
6L, 5L, 6L, 4L, 2L, 12L, 2L, 32L, 10L, 16L, 1L, 2L, 4L, 6L, 10L, 
4L, 7L, 1L, 11L, 39L, 2L, 2L, 11L, 5L, 9L, 3L, 5L, 4L, 5L, 1L, 
3L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), copy_Lf = c(6L, 
3L, 2L, 8L, 14L, 2L, 5L, 9L, 1L, 2L, 3L, 13L, 3L, 9L, 7L, 4L, 
3L, 0L, 6L, 4L, 2L, 6L, 7L, 9L, 5L, 1L, 11L, 2L, 99L, 9L, 14L, 
1L, 2L, 5L, 9L, 13L, 4L, 4L, 1L, 10L, 22L, 0L, 0L, 13L, 0L, 10L, 
4L, 7L, 7L, 7L, 0L, 3L, 3L, 2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L)), .Names = c("X", "anticodon", "codon", "copy_Ae", 
"copy_Lf"), row.names = c(NA, -65L), class = "data.frame")
tlabel <- read.table(text="Alanine 4 0
Arginine 6 0
Asparagine 2 90
Aspartate 2 90
Cysteine 2 90
Glutamate 2 90
Glycine 5 0
Histidine 2 90
Isoleucine 3 90
Leucine 6 0
Lysine 2 0
Methoinine 1 90
Phenylalanine 2 90
Proline 3 0
Serine 6 0
STOP 3 0
Threonine 4 0
Tryptophan 1 90
Tyrosine 2 90
Valine 4 0", sep=" ", stringsAsFactor=F)

tlabel$V2[1] <- tlabel$V2[1]+0.5 
tlabel$end <- cumsum(tlabel$V2)
tlabel$start <- tlabel$end - tlabel$V2
tlabel$start[1] <- 0.5


ggplot() +
  geom_bar(data=t, aes(anticodon, copy_Ae),stat = "identity") +
  geom_text(data=t, aes(anticodon, copy_Ae, label = copy_Ae), hjust = 0.5, vjust = -0.5, size = 6) +
  geom_rect(data=tlabel, aes(xmin=start,
                             xmax=end, 
                             ymin=0,ymax=110), fill=NA, color="black")+
  geom_text(data=tlabel, aes((end-start)/2+start, 80, label = V1), 
            size = 2, angle=tlabel$V3) +
  labs(y = "Frequency", x = "Anti Codons") +
  theme(plot.title = element_text(size = 20, hjust = 0.5),
        axis.title = element_text(size = 16),
        axis.text.x = element_text(angle = 90, vjust = 0.5, size = 16))