微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R:将facet_grid对齐到网格顶部

如何解决R:将facet_grid对齐到网格顶部

我正在努力尝试在R中格式化绘图的facet_grid。这是我的代码的可复制示例,其中包含可从R(ToothGrowth)中的数据集获取的数据。

library(ggplot2)

df <- ToothGrowth

bp <- ggplot(df,aes(x=dose,y=len,group=dose)) +
             geom_Boxplot(aes(fill=dose)) +   
             facet_grid(supp ~ .) + 
             theme_minimal(base_size = 16) +   
             theme(legend.position = "none",axis.title.x = element_blank(),axis.title.y = element_blank(),axis.ticks = element_blank(),panel.grid.major.x = element_line(size = 0.25,colour = "grey80"),strip.text = element_text(size = 22,face = "bold"))

bp

使用代码我获得了第一张图片

Image obtained with the code

我想将facet_grid的标签与网格图例的顶部对齐,如第二幅图所示:

What I want to achieve

谢谢。

解决方法

在您的绘图代码中添加以下内容:

theme(strip.text.y=element_text(hjust=0))

如果要旋转标签,可以执行以下操作:

theme(strip.text.y=element_text(vjust=1,angle=0))

(是的,vjusthjust令人困惑)

p1 = bp + theme(strip.text.y=element_text(hjust=0))
p2 = bp + theme(strip.text.y=element_text(vjust=1,angle=0))

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。