2017-08-13 9 views
2

カテゴリと呼ばれるカテゴリx軸のデータフレームがあり、yaxisはシーケンスによって色付けされた豊富です。各カテゴリーについて、私は豊富でスタックを並べ替えようとしています。その結果、どのシーケンスが最も低い比率で最も高い比率で上部のものが最も簡単に視覚化されるようになります。ggplot2 y軸の割合で分類された積み重ね棒を並べ替え

現在、私はこのような棒グラフを行うことができます。

s<-"Sequence Abundance Category 
CAGTG 0.8 A 
CAGTG 0.2 B 
CAGTG 0.6 C 
CAGTG 0.3 D 
CAGTG 0.1 E 
GGGAC 0.1 A 
GGGAC 0.1 B 
GGGAC 0.3 C 
GGGAC 0.6 D 
GGGAC 0.1 E 
CTTGA 0.1 A 
CTTGA 0.7 B 
CTTGA 0.1 C 
CTTGA 0.1 D 
CTTGA 0.8 E" 

d<-read.delim(textConnection(s),header=T,sep=" ") 

g = ggplot(d,aes(x = Category, y = Abundance, fill = Sequence)) + 
     geom_bar(position = "fill",stat = "identity") 

私のデータはこれに非常に似ていますOrdering stacks by size in a ggplot2 stacked bar graph

しかし、たとえ(解答の手順に従って)、このソリューションを再現しようとしています、比率によってスタックを並べ替えません:

d$Sequence <- reorder(d$Sequence, d$Abundance) 
d$Sequence <- factor(d$Sequence, levels=rev(levels(d$Sequence))) 
ggplot(d, aes(x=Category, y=Abundance, fill=Sequence)) + 
    geom_bar(stat='identity') 

私が探しているものの例は見つかりません。助けてくれてありがとう!

答えて

3

美しい図形を使用して、積み重なったバーの順序を制御します。

s <- "Sequence Abundance Category 
CAGTG 0.8 A 
CAGTG 0.2 B 
CAGTG 0.6 C 
CAGTG 0.3 D 
CAGTG 0.1 E 
GGGAC 0.1 A 
GGGAC 0.1 B 
GGGAC 0.3 C 
GGGAC 0.6 D 
GGGAC 0.1 E 
CTTGA 0.1 A 
CTTGA 0.7 B 
CTTGA 0.1 C 
CTTGA 0.1 D 
CTTGA 0.8 E" 
d <- read.delim(textConnection(s), header=T, sep=" ") 

# Add the "group" aesthetic to control the order of the stacked bars 
g = ggplot(d,aes(x=Category, y=Abundance, fill=Sequence, group=Abundance)) + 
    geom_bar(position = "fill",stat = "identity") 
g 

enter image description here

+0

これは完全に働きました! Marcoさん、どうもありがとうございました。私はずっとこれを試してきました。 – user971102

関連する問題