R 如何减少geom_文本标签之间的间距?
我已成功构建了以下绘图,其中我使用仅包含geom_文本标签的精简绘图来显示另一个绘图的成组总体: 然而,geom_文本标签之间的距离太大,并且组内群体与他们应该代表的组没有“完全”垂直对齐 有没有办法改变这种距离 绘图代码如下所示:R 如何减少geom_文本标签之间的间距?,r,ggplot2,geom-text,R,Ggplot2,Geom Text,我已成功构建了以下绘图,其中我使用仅包含geom_文本标签的精简绘图来显示另一个绘图的成组总体: 然而,geom_文本标签之间的距离太大,并且组内群体与他们应该代表的组没有“完全”垂直对齐 有没有办法改变这种距离 绘图代码如下所示: gymnasiegrov_utfall<-totdata%>%as_tibble() %>% group_by(gymnasiegrov, totstatus_tri) %>% summarise(antal = n()) %>%
gymnasiegrov_utfall<-totdata%>%as_tibble() %>%
group_by(gymnasiegrov, totstatus_tri) %>%
summarise(antal = n()) %>%
mutate(andel = antal / sum(antal))%>%
ggplot(.) +
geom_col(mapping = aes(x = gymnasiegrov, y = andel)) +
coord_flip() +
facet_wrap(~totstatus_tri)
gymnasiegrov_utfall_antal<-totdata%>%
ggplot(aes(x=gymnasiegrov))+
geom_text(stat='count',aes(label=..count..),hjust="inward",y=1) +
coord_flip()+
theme_invisible+
scale_y_discrete(breaks=NULL)+
scale_x_discrete(breaks=NULL)
ggarrange(gymnasiegrov_utfall, gymnasiegrov_utfall_antal, ncol=2, widths = c(.85,.15))
我仍然认为使用方法I会更简单,但如果您喜欢此方法的外观,则可以执行以下操作:
库(ggpubr)
健身房收益率%
as_tible()%>%
组员(康赛德格罗夫、托特斯泰)%>%
总结(antal=n())%>%
突变(安第尔=antal/sum(antal))%>%
ggplot(.)+
geom_col(映射=aes(x=Gymsiegrov,y=andel))+
坐标翻转()
端面缠绕(~totstatus\u tri)
健身房总收入%
ggplot(aes(x=G))+
geom_文本(stat='count',aes(label=..count..),y=1)+
coord_flip()+
主题_pubclean()+
主题(strip.text=element_text(margin=margin(1,0,5,0)))+
实验室(y=“\n”,x=”“)+
缩放y离散(断开=空)+
比例x离散(中断=空)+
面_包裹(.~“计数”)
ggarrange(Gymsiegrov_utfall,Gymsiegrov_utfall_antal,ncol=2,宽度=c(.85,.15))
好的,谢谢!我从中得到的是:1)刻面数据以某种方式改变了布局,在这种情况下,我最好将刻面数据与其他刻面数据进行比较。2) 如果我想访问geom_文本标签周围的边距,我可以通过strip.text?是的@Magnus,主要的“黑客”是1)将第二个绘图分面。2) 添加一个不可见的y轴标签,使底部的空间相等;3)调整strip.text的边距,使其与第一个打印匹配
structure(list(gymnasiegrov = structure(c(1L, 10L, 6L, 7L, 11L,
5L, 16L, 3L, 9L, 14L, 12L, 8L, 13L, 15L, 18L, 4L, 2L, 17L), .Label = c("Oklart",
"friskoleprogram", "Handels- och administrationsprogrammet",
"specialutformat program", "Vård- och Omsorgsprogrammet", "teknikprogrammet",
"komvux", "samhälls- och ekonomiprogrammet", "medieprogrammet",
"naturvetenskapliga programmet", "samhällsvetenskapliga programmet",
"bygg, el, fordon, hantverk, sjöfart, industriteknik", "naturbruksprogrammet",
"estetiska programmet", "Barn- och Fritidsprogrammet", "ekonomiprogrammet/ ekonomi",
"ekonomiprogrammet/ juridik", "Hotell- och Restaurang"), class = c("ordered",
"factor")), totstatus_tri = structure(c(2L, 3L, 1L, 3L, 2L, 3L,
2L, 1L, 1L, 1L, 3L, 3L, 1L, 2L, 1L, 2L, 3L, 1L), .Label = c("pågående studier",
"tidigt avbrott eller återbud", "sent avbrott"), class = c("ordered",
"factor"))), row.names = c(NA, -18L), groups = structure(list(
gymnasiegrov = structure(1:18, .Label = c("Oklart", "friskoleprogram",
"Handels- och administrationsprogrammet", "specialutformat program",
"Vård- och Omsorgsprogrammet", "teknikprogrammet", "komvux",
"samhälls- och ekonomiprogrammet", "medieprogrammet", "naturvetenskapliga programmet",
"samhällsvetenskapliga programmet", "bygg, el, fordon, hantverk, sjöfart, industriteknik",
"naturbruksprogrammet", "estetiska programmet", "Barn- och Fritidsprogrammet",
"ekonomiprogrammet/ ekonomi", "ekonomiprogrammet/ juridik",
"Hotell- och Restaurang"), class = c("ordered", "factor")),
.rows = list(1L, 17L, 8L, 16L, 6L, 3L, 4L, 12L, 9L, 2L, 5L,
11L, 13L, 10L, 14L, 7L, 18L, 15L)), row.names = c(NA,
-18L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))