Сложенные диаграммы за рабочую неделю и другую группу - PullRequest
0 голосов
/ 18 января 2019

У меня есть несколько критериев, из которых я хочу создать диаграмму с накоплением.

Мои критерии: рабочая неделя, количество, клиент, тег (получен, отправлен)

Это (facet_grid (~ Tag)) выглядит нормально, но не совсем то, что мне нужно.

ggplot(allRecords, aes(x = reorder(WW,Date), y = Quantity, fill = 
Customer)) + 
geom_bar(stat = "identity", position = "fill", colour = "black") + 
facet_grid(~Tag) +
labs(x = "Work Week") + 
ggtitle("Goods last 3 months by core customers") +
theme_bw()

Мне нужен составной график для "полученных" и "отправленных" для каждой рабочей недели клиентом.

Ответы [ 3 ]

0 голосов
/ 18 января 2019

Может быть, это то, что вы хотите?

ggplot(records, aes(x = reorder(WW,Date), y = Quantity, fill = 
                         Tag)) + 
  geom_bar(stat = "identity", position = "fill", colour = "black") + 
  facet_grid(~Customer) +
  labs(x = "Work Week") + 
  ggtitle("Goods last 3 months by core customers") +
  theme_bw()

enter image description here

0 голосов
/ 18 января 2019

данные

allRecords <- data.frame( 
    Quantity = c(12,23,12,34,56,23,10,11,23), 
    WW = lubridate::week(c("2019-01-03 10:07:31", "2019-01-03 10:07:31", "2019-01-03 10:07:31", "2019-01-09 15:49:41", "2019-01-09 15:49:4", "2019-01-09 15:49:4", "2019-01-16 09:53:56",     "2019-01-16 09:53:56", "2019-01-16 09:53:56")), 
    Customer = c("C1", "C2", "Other","C1", "C2", "Other","C1", "C2", "Other"), 
    Tag = as.factor(c("Received", "Received", "Shipped", "Shipped", "Received", "Received", "Shipped", "Received", "Received")) 
)

код

ggplot(allRecords, aes(x = Tag, y = Quantity, fill = Customer)) + 
  geom_bar(stat = "identity", position = "stack", colour = "black") + 
  facet_grid(~WW) +
  labs(x = "Work Week") + 
  ggtitle("Goods last 3 months by core customers") +
  theme_bw()

выход

stacked bar chart

0 голосов
/ 18 января 2019

Некоторые примеры строк:

WW <- c (1,1,1,2,2,2,3,3,3) </p>

Количество <- c (12,23,12,34,56,23,10,11,23) </p>

Дата <- lubridate :: ymd_hms (c ("2019-01-03 10:07:31", "2019-01-03 10:07:31", "2019-01-03 10:07:31 "," 2019-01-09 15:49:41 "," 2019-01-09 15: 49: 4 "," 2019-01-09 15: 49: 4 "," 2019-01-16 09:53 : 56 "," 2019-01-16 09:53:56 "," 2019-01-16 09:53:56 ")) </p>

Клиент <- c («C1», «C2», «Other», «C1», «C2», «Other», «C1», «C2», «Other») </p>

Tag <- as.factor (c («Получено», «Получено», «Отправлено», «Отправлено», «Получено», «Получено», «Отправлено», «Получено», «Получено»)) </p>

записей <- data.frame (WW, количество, дата, клиент, тег) </p>

...