2017-02-16 2 views
-1

Доброго утра,100% Stacked Диаграмма бара в R

Я пытаюсь получить эти данные в 100% столбчатой ​​диаграмме в R в

 Federal Non Federal 
2006 46753094 74740716 
2007 43397314 74834857 
2008 43962330 71051132 
2009 42238038 72987898 
2010 49546221 75232382 
2011 48730233 76333479 
2012 49316564 74669993 
2013 48198329 75644892 
2014 46630540 74783207 
2015 46214781 75004771 
2016 47625256 73744148 

так, что она может выглядеть следующим образом: enter image description here

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

Я попытался сделать код, как описано here, но это не сработало.

Это то, что я сделал:

>  g <- ggplot(FedNonFed, aes(FedNonFed)) 
>  g + geom_bar(aes(fill = FedNonFed), position = "fill") 

Не график мне нужно.

g <- ggplot(FedNonFed, aes(FY)) 
g + geom_bar(aes(fill = FedNonFed), position = "fill") 
g + geom_bar(aes(fill = TotalExpense), position = "fill") 

Любая помощь будет оценена по достоинству.

+0

Вы должны добавить свой код, чтобы мы могли видеть, что пошло не так. – Kristofersen

+0

сделано. Спасибо! –

+1

Что означает «не работает»? Обязательно укажите [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) с образцовыми данными, чтобы мы могли фактически запустить код чтобы увидеть, что происходит. Похоже, что наши данные, вероятно, ошибочны. – MrFlick

ответ

6

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

library(reshape2) 
library(scales) 
df = data.frame("Year" = seq(2006,2016,by = 1), "Federal" = seq(1,11,by = 1), "Non Federal" = seq(11,1,by = -1)) 
dfm = melt(df, id.vars = "Year") 
ggplot(dfm,aes(x = Year, y = value,fill = variable)) + 
    geom_bar(position = "fill",stat = "identity") + 
    scale_y_continuous(labels = percent_format()) 

Я внес некоторые изменения в сюжет, чтобы он приблизился к графику Excel. Единственное, что отличается, это цвета.

ggplot(dfm,aes(x = Year, y = value,fill = variable)) + 
    geom_bar(position = "fill",stat = "identity") + 
    scale_y_continuous(labels = percent_format())+ scale_x_continuous(breaks = 2006:2016,labels= as.character(seq(2006,2016,by = 1)))+ 
    theme(plot.subtitle = element_text(vjust = 1), 
    plot.caption = element_text(vjust = 1), 
    legend.title = element_blank(), 
    axis.title.x=element_blank(), 
    axis.title.y=element_blank(), 
    legend.position = "bottom", legend.direction = "horizontal") 
+0

спасибо @Kristofersen. Был создан график, но он выглядит ОЧЕНЬ отличным от того, который я получил в Excel. Кажется, я не могу понять, что произошло –

+0

@ laura, каким образом он отличается? Вы имеете в виду ось и цвет? – Kristofersen

+0

https://photos.google.com/share/AF1QipMUrK7wnVloRMnptv0XOm5q8ADji98OqfWBsJ63GwHJDAEjV0cn5aRJ9U1V2jlekA?key=ZnFLMXVMTDhSRGdJRFg0UHV3aGFOeTk3LXRwcGVR –

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