Воспроизведение графика в R с использованием ggplot (Area plot) - PullRequest
0 голосов
/ 24 марта 2019

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

График должен выглядеть следующим образом:

Click

Мои данные:

Фрейм данных (d) где в столбце 1 («Год») указан год (1960–2000), а в 15 других столбцах («Группа 1», «Группа 2» ...) указана стоимость группы.Таким образом, каждая строка содержит год и значения для определенной группы.(например, (1) 1960; 455; 367; 477; 788; 456; 334; 456; ...)

Я уже пробовал некоторые эксперименты с geom_area, но это не приводит к графу intedet.

ggplot(d, aes(x = Year, y = d[,2]))+
  geom_area(fill = "#00AFBB", color = "blue")

Здесь я получаю n (n = количество лет) очень тонких столбцов, представляющих значение группы 1 по отношению к определенному году.

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

Best!

1 Ответ

0 голосов
/ 24 марта 2019

Вам необходимо преобразовать данные из wide в long формат, после чего они должны работать:

library(dplyr)
library(tidyr)
library(ggplot2)
d <- gather(d, Group, value, Group1:Group15)
ggplot(d, aes(x = Year, y = value, fill = Group))+
  geom_area()
...