码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ggplot 分面的细节调整汇总


    简介

    小编前段时间介绍了 ggplot2 分面问题:R可视乎|分面一页多图。以及很多书籍都介绍了如何使用 ggplot2 的分面,如:《ggplot2: Elegant Graphics for Data Analysis》,《R语言教程》。

    但是绘制之后的细节调整,几乎都没有介绍过。小编在学习的过程中,将一些细节调整技巧进行了整理,以供参考。并分享给大家,希望能帮到你~

    本文框架

    本文框架

    教程

    本文通过模拟数据来举例,读者可以根据数据形式,加载自己的数据集,并进行相应的数据处理。

    生成数据

    # 导入包
    library(ggplot2)
    
    set.seed(1)
    dat = data.frame("time" = rep(2013:2019,6),
                     "method" = rep(LETTERS[1:6],each = 7),
                     "value" = rnorm(7*6,5,1),
                     "upper" = rnorm(7*6,5,1) + abs(rnorm(7*6,2,0.1)),
                     "lower" = rnorm(7*6,5,1) - abs(rnorm(7*6,2,0.1))
    )
    head(dat)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    基础版本绘图

    cols <- c("#85BA8F", "#A3C8DC","#349839","#EA5D2D","#EABB77","#F09594") #设置颜色
    
    p = ggplot(dat,aes(x = time, y = value,fill = method)) +                                                       
      geom_line(aes(color = method)) + #添加线
      geom_point(aes(color = method)) + #添加散点
      geom_ribbon(aes(ymin=lower, ymax=upper), alpha=0.3) + #添加区间
      scale_x_continuous(breaks = 2013:2019) +
      facet_wrap(vars(method),nrow = 4) + 
      theme_bw() + ylab("Value") + xlab("Time") + #主题设置
      theme(panel.grid = element_blank())
    p
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    基础版本

    刻度尺修改

    默认情况下,x、y 轴刻度是固定的,即,scales = "fixed"。具体可以参考:https://ggplot2-book.org/facet.html。

    x 轴

    利用参数 scales = "free_x",修改 x 轴刻度尺。

    p + facet_wrap(vars(method),nrow = 4,scales = "free_x")
    
    • 1

    修改 x 轴刻度

    y 轴

    利用参数 scales = free_y,修改 y 轴刻度尺。

    p + facet_wrap(vars(method),nrow = 4,scales = "free_y")
    
    • 1

    修改 y 刻度

    双轴

    利用参数 scales = free,修改 x 和 y 轴刻度尺。

    p + facet_wrap(vars(method),nrow = 4,scales = "free")
    
    • 1

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8BdFXbf-1656937310384)(https://files.mdnice.com/user/5000/9d1e15c9-ebc3-43b2-a892-43a1229eb0b5.png)]

    标题框调整

    这一部分都是在 theme() 中进行调整。具体可以参考:https://ggplot2-book.org/polishing.html。

    位置调整

    修改 strip.position 进行位置调整。

    p + facet_wrap(vars(method),nrow = 3,strip.position = "left")
    
    • 1

    位置调整

    去除标题框背景

    利用 strip.background = element_blank() 去除标题框背景。

    p + theme(
            strip.background = element_blank() #去除标题框背景
      )
    
    • 1
    • 2
    • 3

    去除标题框背景

    修改标题框背景颜色

    利用 strip.background = element_rect() 修改标题框背景颜色。

    p + theme(strip.background=element_rect(colour="black",
                                          fill="#2072A8"))
    
    • 1
    • 2

    修改标题框背景颜色

    修改标题框文字颜色

    利用 strip.text.x=element_text() 修改标题框文字颜色。

    p +  theme(strip.text.x=element_text(colour="white"))
    
    • 1

    修改标题框文字颜色

    删除标题框

    利用 strip.text.x = element_blank() 删除标题框。

    p +  theme(strip.text.x = element_blank())
    
    • 1

    删除标题框

    小编有话说

    如果觉得有帮助的话,欢迎点赞,分享~

  • 相关阅读:
    阿里云oss使用签名url上传时的一些配置注意事项
    英伟达算法岗面试,问的贼专业。。。
    人工神经网络与遗传算法,神经网络和算法的关系
    200+ML知识速查卡;『图解算法数据结构』配套代码;『剑指Offer』解题代码;『Python3』高频面试题目集;前沿论文 | ShowMeAI资讯日报
    浅谈 thinkphp composer 扩展包加载原理
    JDK安装教程
    Python 几行代码实现一键抠图,收费应用 BYEBYE
    Spring中反转控制与依赖注入
    重新安装电脑系统Win10步骤教程
    哈夫曼树哈夫曼编码知识点
  • 原文地址:https://blog.csdn.net/qq_37379316/article/details/125607956
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号