这个CSV格式的数据集
GO Biological Process,regulation of lipid metabolic process,1.87E-35
GO Biological Process,acute inflammatory response,3.21E-37
GO Biological Process,response to insulin stimulus,1.05E-38
GO Biological Process,steroid metabolic process,4.19E-39
GO Biological Process,cholesterol metabolic process,1.19E-40
GO Biological Process,cellular response to chemical stimulus,5.87E-42
GO Biological Process,alcohol metabolic process,5.27E-43
GO Biological Process,sterol metabolic process,2.61E-43
GO Biological Process,lipid homeostasis,1.12E-44
GO Biological Process,response to peptide hormone stimulus,1.29E-45
GO Biological Process,monocarboxylic acid metabolic process,2.33E-54
GO Biological Process,cellular ketone metabolic process,5.46E-74
GO Biological Process,carboxylic acid metabolic process,2.41E-76
GO Biological Process,organic acid metabolic process,5.30E-79
Pathway Commons,FOXA transcription factor networks,7.40E-61
Pathway Commons,FOXA2 and FOXA3 transcription factor networks,1.39E-64
Transcription Factor Targets,"Targets of HNF6, identified by ChIP-chip in hepatocytes",1.77E-32
Transcription Factor Targets,"Targets of HNF1alpha, identified by ChIP-chip in hepatocytes",3.87E-65
Transcription Factor Targets,"Targets of HNF4alpha, identified by ChIP-chip in hepatocytes",1.38E-131
我希望能够创建一个如下所示的情节(条形图?):
其中第1列中的三个不同组以相同颜色组合在一起,第3列从最大到最小排序。 上面的图是用excel制作的,但我希望能够在R中正确使用它。 到目前为止,我得到的是绘制的第2和第3列,我无法获得按第1列分组的条形图。
我按照推荐的方式尝试了ggplot。这就是我得到的(它看起来很棒):
library(ggplot2)
ggplot(tmp, aes(x=tmp$V2, y=log(tmp$V3), fill=tmp$V1)) +
geom_bar(stat="identity") +
coord_flip() +
scale_y_log()
但是,我需要找出如何“反转”轴,如[0,1e-130](例如,条形图从左到右,如上例所示)
答案 0 :(得分:5)
ggplot
包中的ggplot2
相当简单。您可以通过在绘图中指定填充颜色并将数据中的列映射到填充来实现此目的,即aes(..., fill=group)
:
library(ggplot2)
dat <- data.frame(
label=LETTERS[1:10],
value=10:1,
group=letters[c(1,1,2,2,2,3,3,3,3,3)]
)
dat
label value group
1 A 10 a
2 B 9 a
3 C 8 b
4 D 7 b
5 E 6 b
6 F 5 c
7 G 4 c
8 H 3 c
9 I 2 c
10 J 1 c
ggplot(dat, aes(x=label, y=value, fill=group)) +
geom_bar(stat="identity") +
coord_flip()