• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • ggplot2简易教程

      ggplot2简易教程

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2017年7月23日
      测试开头

      概述:ggplot2是R语言流行好用的画图包,功能强大,灵活性好。

      ggplot2简易教程

      本文总结ggplot2包中ggplot()函数画图的知识。关于ggplot2包详细介绍请进入ggplot2文档查阅。

      • 1 ggplot()函数

      • 2 图像装饰

        • 2.1 添加标注

        • 2.2 设置颜色和尺寸

        • 2.3 修改图像背景

        • 2.4 设置坐标轴的范围

      • 3 常用图形

        • 3.1 柱状图

        • 3.2 直方图

        • 3.3 盒箱图

      • 4 参考资料

        本文采用的数据集:
        cars: Speed and Stopping Distances of Cars【源自R自带数据集】
        mpg: Fuel economy data from 1999 and 2008 for 38 popular models of car【源自ggplot2包数据集】

        1 ggplot()函数

        ggplot()函数相对于qplot()函数功能更强大,灵活性更高。
        ggplot()函数可以实现对图像做更大程度地控制和定制。

        ggplot2画图的思想采用了图层叠加的思想,利用ggplot()对数据集创建图层,并且通过映射函数aes()把数据集中要绘制的变量映射到到图层中坐标轴,然后通过图层叠加设计和实现不同的可定制化的图形。

        代码:

        1. layer1 <- ggplot(data = cars, aes(x = speed, y = dist))

        2. print(layer1)

        结果:
        ggplot2简易教程

        在layer1的基础上添加绘制出各种图像效果的图层。了解速度与距离的关系,选择散点图或者折线图展示。

        绘制散点图
        代码:

        1. layer2 <- layer1 + geom_point()

        2. print(layer2)

        结果:
        ggplot2简易教程

        绘制折线图
        代码:

        1. layer2 <- layer1 + geom_line()

        2. print(layer2)

        结果:
        ggplot2简易教程

        2 图像装饰

        图形装饰,就是对图像添加各种标注、合适的颜色、绘制图形的符号和尺寸、图形的刻度管理、图例等,其目的就是让图形能够更加有效地表示出信息,并且便于看图者或者利益人获取和认知。

        2.1 添加标注

        添加标注包括坐标轴和图的抬头标识。
        代码:

        1. image1 <- layer1 + geom_point() + labs(x = "Speed",

        2.                             y = "Dist",

        3.                             title = "Speed vs Dist")

        4. print(image1)

        结果:
        ggplot2简易教程
        图的抬头标识没有居中,解决方案如下:
        代码:

        1. image2 <- layer1 +

        2.  geom_point() +

        3.  labs(x = "Speed", y = "Dist", title = "Speed vs Dist") +

        4.  theme(plot.title = element_text(hjust = 0.5))

        5. print(image2)

        结果:
        ggplot2简易教程
        说明:若是需要修改图片抬头标题的尺寸大小或者颜色,只需要在element_text()函数中给参数值size/color赋值即可实现。

        2.2 设置颜色和尺寸

        设置颜色和尺寸可以应用在绘制图形的符号上面或者标注的文字上面。
        散点图尺寸放大并且用红色凸显
        代码:

        1. image3 <- layer1 +

        2.  geom_point(size = 6, colour = "Red") +

        3.  labs(x = "Speed", y = "Dist", title = "Speed vs Dist") +

        4.  theme(plot.title = element_text(hjust = 0.5, colour = "Blue"))

        5. print(image3)

        结果:
        ggplot2简易教程

        2.3 修改图像背景

        代码:

        1. image4 <- layer1 +

        2.  geom_point(size = 6, colour = "darkblue") +

        3.  theme_bw()

        4. print(image4)

        结果:
        ggplot2简易教程
        图像默认背景采用theme_grey()

        2.4 设置坐标轴的范围

        把前面的散点图x轴范围设置为[0, 40],y轴范围设置为[0, 200]。
        代码:

        1. image5 <- layer1 +

        2.  geom_point(size = 6, colour = "green") +

        3.  theme_classic() +

        4.  scale_x_continuous(limits = c(0, 40)) +

        5.  scale_y_continuous(limits = c(0, 200))

        6. print(image5)

        结果:
        ggplot2简易教程
        其它图形装饰,参见ggplot详情文档。

        3 常用图形

        在文章《R基本画图教程》介绍了工作中的常用图形。现在用ggplot()实现柱状图、直方图和盒箱图。

        3.1 柱状图

        代码:

        1. image6 <- ggplot(data = mpg, aes(x=factor(cyl))) +

        2.  geom_bar()

        3. print(image6)

        结果:
        ggplot2简易教程

        3.2 直方图

        代码:

        1. image7 <- ggplot(data = cars, aes(x=speed)) +

        2.  geom_histogram(bins = 10, colour="red")

        3. print(image7)

        结果:
        ggplot2简易教程

        3.3 盒箱图

        代码:

        1. image8 <- ggplot(data = mpg, aes(x=factor(cyl), y=cty)) +

        2.  geom_boxplot()

        3. print(image8)

        结果:
        ggplot2简易教程

        ggplot2简易教程介绍ggplot()函数使用、图像常用装饰和常用图形的实现。

        4 参考资料

        1 ggplot2详情文档:http://docs.ggplot2.org/current/


        公众号推荐:

        数据科学与人工智能,分享数据科学与人工智能的知识和资讯。


        ggplot2简易教程



        数据人网是数据人学习、交流和分享的平台。

        想加入数据人圈子,请加微信:luqin360。


        点击阅读原文,进入数据人网,阅读更多优质的数据知识和资讯。

        测试结尾

        请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

        • 分享:
        作者头像
        weinfoadmin

        上一篇文章

        R基本画图教程
        2017年7月23日

        下一篇文章

        数据人网大数据VIP会员群招人啦!
        2017年8月20日

        你可能也喜欢

        3-1665801675
        R语言学习:重读《R数据科学(中文版)》书籍
        28 9月, 2022
        6-1652833487
        经典铁死亡,再出新思路
        16 5月, 2022
        1-1651501980
        R语言学习:阅读《R For Everyone 》(第二版)
        1 5月, 2022

        搜索

        分类

        • R语言
        • TCGA数据挖掘
        • 单细胞RNA-seq测序
        • 在线会议直播预告与回放
        • 数据分析那些事儿分类
        • 未分类
        • 生信星球
        • 老俊俊的生信笔记

        投稿培训

        免费

        alphafold2培训

        免费

        群晖配置培训

        免费

        最新博文

        Nature | 单细胞技术揭示衰老细胞与肌肉再生
        301月2023
        lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
        301月2023
        如何快速批量修改 Git 提交记录中的用户信息
        261月2023
        logo-eduma-the-best-lms-wordpress-theme

        (00) 123 456 789

        weinfoadmin@weinformatics.cn

        恒诺新知

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        链接

        • 课程
        • 事件
        • 展示
        • 问答

        支持

        • 文档
        • 论坛
        • 语言包
        • 发行状态

        推荐

        • iHub汉语代码托管
        • iLAB耗材管理
        • WooCommerce
        • 丁香园论坛

        weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

        • 关于我们
        • 博客
        • 联系
        • 成为一名讲师

        要成为一名讲师吗?

        加入数以千计的演讲者获得100%课时费!

        现在开始

        用你的站点账户登录

        忘记密码?

        还不是会员? 现在注册

        注册新帐户

        已经拥有注册账户? 现在登录

        close
        会员购买 你还没有登录,请先登录
        • ¥99 VIP-1个月
        • ¥199 VIP-半年
        • ¥299 VIP-1年
        在线支付 激活码

        立即支付
        支付宝
        微信支付
        请使用 支付宝 或 微信 扫码支付
        登录
        注册|忘记密码?