在geom_bar ggplot2中重新排序条形图

我正在尝试制作一个条形图,其中从miRNA最高value到最高的顺序排列情节miRNA。为什么我的代码不起作用?


> head(corr.m)


        miRNA         variable value

1    mmu-miR-532-3p      pos     7

2    mmu-miR-1983        pos    75

3    mmu-miR-301a-3p     pos    70

4    mmu-miR-96-5p       pos     5

5    mmu-miR-139-5p      pos    10

6    mmu-miR-5097        pos    47


ggplot(corr.m, aes(x=reorder(miRNA, value), y=value, fill=variable)) + 

  geom_bar(stat="identity")


眼眸繁星
浏览 5006回答 2
2回答

牧羊人nacy

您的代码工作正常,但条形图从低到高排序。如果您想要从高到低订购酒吧,您必须在-之前添加标志value:ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) +&nbsp;&nbsp; geom_bar(stat = "identity")使用数据:corr.m <- structure(list(miRNA = structure(c(5L, 2L, 3L, 6L, 1L, 4L), .Label = c("mmu-miR-139-5p", "mmu-miR-1983", "mmu-miR-301a-3p", "mmu-miR-5097", "mmu-miR-532-3p", "mmu-miR-96-5p"), class = "factor"),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;value = c(7L, 75L, 70L, 5L, 10L, 47L)),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))
打开App,查看更多内容
随时随地看视频慕课网APP