&引用;电梯图“;在R中-绘制流入和流出

&引用;电梯图“;在R中-绘制流入和流出,r,plot,graph,R,Plot,Graph,我有一个关于R的问题。 我已经成功评估了我的数据,现在我有来自不同楼层的数据。对于每一层楼和每一部电梯,我想创建一个绘图。 您可以在所附图片中看到一个示例 不幸的是,我完全错过了这个方法。这在R中可能吗?我的选择是用PowerPoint手工制作 input这将使用ggplot2完成工作: ggplot(df) + # Split per elevator and floor facet_grid(level~elevator, as.table=FALSE, labeller=labe

我有一个关于R的问题。 我已经成功评估了我的数据,现在我有来自不同楼层的数据。对于每一层楼和每一部电梯,我想创建一个绘图。 您可以在所附图片中看到一个示例

不幸的是,我完全错过了这个方法。这在R中可能吗?我的选择是用PowerPoint手工制作


input这将使用
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(…)
(参见文档)


我非常感谢你的努力。这正是我所需要的。我的优势更多地在于分析和处理数据。您的示例再次向我表明,R对于可视化结果同样非常有效。不客气!对于下一个问题,建议您解释/展示您已经尝试解决的问题以及您遇到的困难。。。虽然我承认,当你不知道如何开始时,这是很困难的
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)