Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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
按值对geom_bar ggplot2中的条重新排序_R_Ggplot2 - Fatal编程技术网

按值对geom_bar ggplot2中的条重新排序

按值对geom_bar ggplot2中的条重新排序,r,ggplot2,R,Ggplot2,我试图制作一个条形图,其中图的顺序是从miRNA值最高的到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

我试图制作一个条形图,其中图的顺序是从
miRNA
值最高的
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")

您的代码运行良好,只是条形图的顺序是从低到高。当您想从高到低排列条形图时,必须在
值之前添加
-
符号:

ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) + 
  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"),
                         variable = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "pos", class = "factor"),
                         value = c(7L, 75L, 70L, 5L, 10L, 47L)),
                    class = "data.frame", row.names = c("1", "2", "3", "4", "5", "6"))

corr.m在某些情况下,它在我的绘图中没有排序reason@user3741035奇怪。您是在上面提供的样本数据集上使用它,还是在整个数据集上使用它?您使用的是哪个版本的R&ggplot?您还可以获得一个更大的样本数据集(对于
变量
,最好有多个值)?找到了解决方案:我加载了一个库(gplots),这把事情搞砸了things@maycca它给出了正确的结果(在OSX 10.10.4/Windows 7、R 3.2.3和ggplot2 2.1.0上)。也许你应该从新的课程开始?