R,ggplot geom_histogram

时间:2016-08-02 13:28:42

标签: r ggplot2

我有一个data.frame,其中包含每个直径类的根长度。有43行代表采样个体,55列代表我的根直径类(例如:0.04233,0.04233,0.04233,0.08467,0.08467 ......),除了一个被称为" Esp" (对于物种)。

这代表了我桌子的一部分:

          Esp 0.04233 0.08467   0.127 0.1693  0.2117   0.254  0.2963  0.3387 
Ag_T0_8    Ag  260.14  931.84  310.94  69.13  26.374  35.772  13.885  18.542 
Ag_T0_11   Ag  237.32 1086.32  653.33 274.79 136.017  95.038  57.743  36.449 
Ca_T0_5    Ca   45.30   94.70   66.55  43.77  16.298   7.112   3.768   3.979  
Ca_T0_15   Ca  568.43 1183.01  621.01 351.90 125.603  93.409 111.506  65.257
Tg_T0_159  Tg  608.12  339.09  132.55  39.16   9.102  10.795  11.176   6.900  
Tg_T0_160  Tg  332.15  193.08   61.55  33.82  11.388   6.011   4.657   3.598

我想得到一个根直径分布的直方图,根据X轴的根直径等级,以及Y轴上的累积频率,有3种不同的颜色,我的三个中每一个都有一个小组(" Ag"," Ca"," Tg")。

我尝试用直径类制作一个具有根的累积频率的表,但它不能用ggplot工作。我不认为这是自己计算频率的好方法......

我希望你能理解我的问题是什么。

有人有想法吗?

非常感谢有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

你的意思是这样的:

df <- read.table(text = "Esp 0.04233 0.08467   0.127 0.1693  0.2117   0.254  0.2963  0.3387 
Ag_T0_8    Ag  260.14  931.84  310.94  69.13  26.374  35.772  13.885  18.542 
Ag_T0_11   Ag  237.32 1086.32  653.33 274.79 136.017  95.038  57.743  36.449 
Ca_T0_5    Ca   45.30   94.70   66.55  43.77  16.298   7.112   3.768   3.979
Ca_T0_15   Ca  568.43 1183.01  621.01 351.90 125.603  93.409 111.506  65.257
Tg_T0_159  Tg  608.12  339.09  132.55  39.16   9.102  10.795  11.176   6.900
Tg_T0_160  Tg  332.15  193.08   61.55  33.82  11.388   6.011   4.657   3.598", header = T)


library(reshape2)

df.m <- melt(df)

library(ggplot2)

ggplot(data = df.m, aes(x = variable, y = value, fill=Esp)) + geom_bar(stat="identity", position=position_dodge()) 

答案 1 :(得分:0)

谢谢,但没有。我正在寻找一个图形,其中&#34;酒吧&#34;从一个物种粘贴在一起并透明,以便所有物种都在一个图形但分层。 这就是我想用geom_hist而不是geom_bar。我想在y轴上有累积频率。 但非常感谢你。