我正在尝试制作一个条形图,其中情节从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")
Run Code Online (Sandbox Code Playgroud)
Jaa*_*aap 193
您的代码工作正常,但条形图从低到高排序.如果您想要从高到低订购酒吧,您必须在-
之前添加标志value
:
ggplot(corr.m, aes(x = reorder(miRNA, -value), y = value, fill = variable)) +
geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)
这使:
除了@Jaap 的回答之外,还有两种其他方式来排序情节:
1:通过使用desc
参数来获取值:
ggplot(corr.m, aes(x = reorder(miRNA, desc(value)), y = value, fill = variable)) +
geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)
2:通过重新调整 miRNA 因子并省略reorder
参数:
corr.m %>%
arrange(desc(value)) %>%
mutate(miRNA = factor(miRNA, levels = unique(miRNA))) %>%
ggplot(aes(x = miRNA, y = value, fill = variable)) +
geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)