2016-03-14 3 views
0

Я пытаюсь создать сюжет из dataframe, который выглядит следующим образом:R (ggplot2) - столбчатая проблема диаграммы

management depth id   genus rep1 rep2 rep3 rep4 sum 
1   OM  A 1  alternaria 3 0 0 0 3 
2   OM  A 2 aspergillus 0 0 0 0 0 
3   OM  A 3  chaetomium 0 0 0 0 0 
103  PM  A 1  alternaria 0 0 0 0 0 
104  PM  A 2 aspergillus 4 1 4 35 44 
105  PM  A 3  chaetomium 0 0 0 7 7 

Я хочу создать многослойную BarChart с управлением на оси х, заполненный родом, а y должен представлять сумму. Я использовал

stack<-ggplot(df, aes(x=management, fill=genus)) + geom_bar(position="fill", color="white") 

Моя первая проблема в том, что я не знаю, как реализовать сумму в этом коде. Я могу создать два отдельных сюжета, но было бы лучше, если бы я мог поместить оба бара в один сюжет.

Я также создал стек гистограмму с выше dataframe, но результат был следующий: plot

Потому что я имел очень большое значение для одного рода, ggplot всегда будет создать два-столбцы сложенный бар. Есть ли все равно, чтобы обойти это?

ответ

0

Было бы проще адаптировать решение, если бы вы предоставили ожидаемый результат, но я верю, что это то, что вы ищете?

library(ggplot2) 
df <- read.table(textConnection(" 
row.id management depth id   genus rep1 rep2 rep3 rep4 sum 
1   OM  A 1  alternaria 3 0 0 0 3 
2   OM  A 2 aspergillus 0 0 0 0 0 
3   OM  A 3  chaetomium 0 0 0 0 0 
103  PM  A 1  alternaria 0 0 0 0 0 
104  PM  A 2 aspergillus 4 1 4 35 44 
105  PM  A 3  chaetomium 0 0 0 7 7"), header=TRUE, stringsAsFactors = FALSE) 

ggplot(df, aes(x=management, y=sum, fill=genus)) + 
geom_bar(color="white", stat="identity") 

enter image description here

+0

Извините за неоспоримым очень неясно, но то, что вы вывесили было точно я искал. Я попробовал аналогичный код с (... y = sum, ...), но все, что у меня было, было серым. Благодаря! – Fjedsen

+0

Рад, что это сработало для вас. – Wyldsoul

Смежные вопросы