Вдохновленный this вопрос, я хотел бы создать участок 100% сложенной площади с ggplot2
показ фильмов по годам, заказанным по стране. Мой кадр данных можно получить here. У меня две переменные year
и country
. Я знаю, если есть ошибка в мышлении, но я не могу получить решение.100% уложенная площадь участка в ggplot2
код я использую:
library(reshape)
library(ggplot2)
df <- read.csv(url("https://dl.dropboxusercontent.com/u/109495328/movie_db.csv"))
ggplot(df, aes(x=Year,y=Country,group=Country,fill=Country)) + geom_area(position="fill")
Мой график выглядит следующим образом:
Но должен выглядеть как-то так (например, сюжет):
Что я Иссингом?
Edit:
лесоруб, я не понимаю, как вы получите ваш Freq
переменную, даже с обновленным решением?
Я не уверен, что это необходимо, или если ggplot
делает это «automaticcaly», но я думаю, что фактическая проблема, которую я имею, заключается в том, чтобы преобразовать свой фрейм данных выше в информационный кадр, понимает, как часто страна появляется каждый год и сохраняет ее частота:
От:
year country
2015 US
2015 US
2014 UK
2015 UK
2014 US
.
.
.
To:
year country freq
2015 US 6
2015 UK 7
2014 US 10
2014 UK 2
Вы пропустили хорошее объяснение того, что ваш граф должен показать. Ваш пример имеет непрерывную ось y, ваш код имеет коэффициент y. Также проверьте 'range (df $ Year)'. – Axeman
Использует ли 'stat =" identity "' и 'position =" stack "' in 'geom_area' help? См. [Здесь для примера] (http://stackoverflow.com/questions/22945651/how-to-remove-space-between-axis-area-plot-in-ggplot2) – Jaap
@ Яап, он не работает. Он похож на графический вывод, как показано выше. @ Axeman, я хотел бы показать, сколько фильмов в базе данных по годам по сравнению со странами, в которых они были произведены. У меня такое ощущение, что я должен добавить третью переменную, показывающую только «1» в каждой строке. Axeman, что вы предлагаете? –