Здравствуйте, я работаю над набором данных, который выглядит следующим образом:
raw_data =
week v1 v3 v4 v5 v6
1 17 20.983819 7.799831 16.0600278 113.018687
2 34 22.651678 8.090671 16.4898951 120.824817
3 15 24.197048 6.892516 16.9805836 128.105372
4 14 26.016688 5.272781 17.471264 140.15794
5 26 27.572317 10.767018 17.8686156 154.886518
6 37 29.018684 21.280104 19.8096452 165.244061
7 27 30.395094 32.140543 22.937902 176.453934
8 24 31.832068 44.008145 28.714597 184.7598
9 16 33.383742 45.704626 39.2958153 193.461108
10 28 34.877819 39.355206 45.9069661 201.305558
Я пытаюсь добиться того, чтобы построить переменные от v3 до v6 как график с областями с накоплением, а переменную v1 как линиюГрафик на том же графике за неделю.
Я попробовал следующий код, который строит график области стека, но не линейный график.
mdf <- melt(raw_data, id="Week") # convert to long format
p <- ggplot(mdf, aes(x=Week, y=value)) + geom_area(aes(fill= mdf$variable), position = 'stack') + theme_classic()
p + ggplot(raw_data, aes(x=Week, y=v1)) +geom_line()
, и я получаю следующую ошибку
Error: Don't know how to add e2 to a plot
Я устал от метода, предложенного в этой статье Как наложить графики geom_bar и geom_line с разным количеством элементов с помощью ggplot2? и использовал приведенный ниже код
mdf <- melt(raw_data, id="Week") # convert to long format
p <- ggplot(mdf, aes(x=Week, y=value)) + geom_area(aes(colour =
mdf$variable, fill= mdf$variable), position = 'stack') + theme_classic()
p + geom_line(aes(x=Week, y=mdf$variable=="v1"))
но затем я получил следующую ошибку
Error: Discrete value supplied to continuous scale
Я попытался преобразовать переменную v1 согласно приведенному ниже коду, ссылающемуся на следующую статью, однако это не помогло разрешить.
Как получить уровни дискретных факторов, которые будут рассматриваться как непрерывные?
raw_data$v1 <- as.numeric(as.character(raw_data$v1))
Пожалуйста, помогите, как решить проблему.Кроме того, как создать черную границу для каждого графика в моем графе с накоплением так, чтобы его было легко различить между графиками.
Большое спасибо за помощь заранее !!