«Элеваторный участок» в Р - построение графика притока и оттока - PullRequest
1 голос
/ 12 марта 2019

У меня есть вопрос относительно участка в R. Я успешно оценил свои данные, и теперь у меня есть данные с разных этажей. Для каждого этажа и каждого лифта я хочу создать участок. Вы можете увидеть пример на прикрепленной картинке.

К сожалению, я полностью скучаю по подходу. Это вообще возможно в R? Моя альтернатива - сделать это вручную в PowerPoint ...

enter image description here

input <- c(320, 300, 170, 210, 300, 200, 400)
out <- c(255, 220, 300, 225, 400, 300, 200)
level <- c(2, 1, 0, -01, 3, 1, 0)
elevator <- c(A, A, A, A, B, B, B)
df <- data.frame(input, out, level, elevator)

1 Ответ

2 голосов
/ 12 марта 2019

Это сделает работу, используя ggplot2:

ggplot(df) +
  # Split per elevator and floor
  facet_grid(level~elevator, as.table=FALSE, labeller=label_both) + 
  # Add arrow "in" and its text
  geom_segment(x=0, y=0, xend=2, yend=0, size=10, color="#A0C080", 
               lineend="butt", linejoin="mitre", 
               arrow=arrow(length=unit(.02, "native"), type="closed")) +
  geom_text(aes(label=input), x=1, y=0, hjust=.5, size=8) +
  # Add arrow "out" and its text
  geom_segment(x=2, y=8, xend=0, yend=8, size=10, color="#C0B0B0", 
               lineend="butt", linejoin="mitre",
               arrow=arrow(length=unit(.02, "native"), type="closed")) +
  geom_text(aes(label=out), x=1, y=8, hjust=.5, size=8) +
  # Draw floors
  geom_rect(xmin=2.5, xmax=4, ymin=-4, ymax=12) +
  # Graphical tweaks
  theme_light() + theme(panel.grid=element_blank()) + ylim(-4,12) + xlim(-.5,3.5)

PS: если вы действительно хотите включить стрелки со счетчиком 0, либо включите их в свой фрейм данных, либо используйте tidyr::complete(...) (см. Документ)

Result

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...