美文网首页plot
ggplot2优雅的自定义分面轴刻度

ggplot2优雅的自定义分面轴刻度

作者: R语言数据分析指南 | 来源:发表于2021-09-23 21:59 被阅读0次

    本节来解释如何使用ggh4x自带的facetted_pos_scales( )来自定义分面图形的轴刻度

    加载R包

    library(tidyverse)
    library(ggh4x)
    

    数据清洗

    air_df <- airquality %>% 
      pivot_longer(cols = 1:4,names_to = "Env_vars",
                   values_to = "Values")
    

    绘制分面折线图

    P <- ggplot(air_df, aes(x = Day,y = Values,color = as.factor(Month),group = Month)) + 
      geom_point() + geom_line() +
      labs(x = "Day of month", y = NULL) +
      scale_color_brewer(palette = "Set1", labels = c("May","June","July","August","September")) +
      facet_wrap(~Env_vars, nrow = 2, 
                 scales = "free_y",strip.position = "left", 
                 labeller = as_labeller(c(Temp = "Temperature (°F)", 
                                          Solar.R = "Solar radiace (lang)",
                                          Wind = "Wind (mph)",
                                          Ozone = "Ozone (ppb)"))) + 
      theme(strip.background = element_blank(),
            strip.placement = "outside",
            legend.position = "top",
            legend.title = element_blank())
    
    P 
    

    自定义轴刻度

    P + facetted_pos_scales(
      y = list(Env_vars == "Ozone" ~ scale_y_continuous(limits=c(0,200),breaks=seq(0,200,40)),
               Env_vars == "Solar.R" ~ scale_y_continuous(limits=c(0, 350),breaks=seq(0,350,50)),
               Env_vars == "Temp" ~ scale_y_continuous(limits=c(40, 120),breaks=seq(40,120,20)),
               Env_vars == "Wind" ~ scale_y_continuous(limits=c(0,30),breaks=seq(0,30,5),
                                                       labels = letters[1:7])))
    

    喜欢的小伙伴欢迎关注我的公众号

    R语言数据分析指南,持续分享数据可视化的经典案例及一些生信知识,希望对大家有所帮助

    相关文章

      网友评论

        本文标题:ggplot2优雅的自定义分面轴刻度

        本文链接:https://www.haomeiwen.com/subject/shxagltx.html