繁体   English   中英

将 ggplot2 分解为 Windows/facets,标签按字母顺序排列

[英]Break ggplot2 into Windows/facets with labels in alphabetical order

我想生成一个点 plot 显示每个帧中相同数量的行(如果没有其他工作,可以是方面)并按字母顺序(A1、A2、B2、B2 等),因为 plot 长度太高而看不到轴标签清晰。 我想将这个 plot 分解为 4 个 windows 行数相同,即每行 13 个。 (最好是 tidyverse 且没有硬编码的行数)

library(tidyverse)
df <- data.frame(names=c(paste0(LETTERS,1),paste0(LETTERS,2)),value=1:52)
  
df %>% 
  arrange(desc(names)) %>% 
  ggplot(aes(y=names,x=value))+
  geom_point()+
  scale_y_discrete(limits=rev)

我们可以使用gl创建一个分组列并使用facet_wrap

library(dplyr)
library(ggplot2)
df %>% 
   arrange(desc(names)) %>% 
   mutate(grp = as.integer(gl(n(), ceiling(n()/4), n()))) %>%  
   ggplot(aes(y=names,x=value))+
    geom_point() +
    facet_wrap(~ grp, scales = 'free_y')

-输出

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM