R语言ggplot2绘图

R语言绘图之ggplot2

  • 一.绘图的基本要素
    • 1.图形映射
    • 2.分面:
    • 3.添加平滑曲线
  • 二.绘制条形图
  • 设置坐标抽格式

一.绘图的基本要素

首先载入tidyverse包

 install.packages("tidyverse")
library(tidyverse)

​​​​这一行代码加载了tidyverse的核心R包。在几乎所有的数据分析任务中,你都会用到这些R包。这行代码还会告诉你tidyverse中的哪些函数与基础R包(或者已加载的其他R包)中的函数有冲突。
​​​​
​​在这里插入图片描述
本文使用r语言自带的数据框,mpg来操作
​​
在这里插入图片描述

1.绘制基础散点图:

mpg
ggplot(mpg,aes(displ,hwy))+geom_point()

在这里插入图片描述

注意ggplot只接受数据框格式,,aes()函数的x参数和y参数分别指定了映射到x轴的变量与映射到y轴的变量。ggplot2在data参数中寻找映射变量,本例中就是mpg。

aes(displ,hwy)分别是x轴和y轴,geom_point()是绘制散点图

可以看出随着displ的增大,hwy总体是减少的。
你是否发现,虽然数据集中有234个观测值,但散点图中只显示了126个点?因为hwy和displ的值都进行了舍入取整,所以这些点显示在一个网格上时,很多点彼此重叠了。这个问题称为过绘制.
通过将位置调整方式设为“抖动”,可以避免这种网格化排列。**position = “jitter”**为每个数据点添加一个很小的随机扰动,这样就可以将重叠的点分散开来,因为不可能有两个点会收到同样的随机扰动:

 ggplot(mpg,aes(displ,hwy))+geom_point(position = "jitter")

在这里插入图片描述

1.图形映射

这些车有不同的类型,通过color=class可以为不同的种类添加颜色

ggplot(mpg,aes(displ,hwy))+geom_point(aes(color=class))

在这里插入图片描述

如果你想设置图片整体为单个颜色,比如蓝色,只需要:

ggplot(mpg,aes(displ,hwy))+geom_point(color="blue")

在这里插入图片描述

但是如果你这么输入:

ggplot(mpg,aes(displ,hwy))+geom_point(aes(color="blue"))

将不会达到你想要的结果,
在这里插入图片描述

可以看到输出结果是红色,不是蓝色,事实上你把bule改为任何颜色结果都是红色,因为aes是分别映射。

你也通过alpha=class,将class映射为控制数据透明度alpha图片属性

ggplot(mpg,aes(displ,hwy))+geom_point(aes(color=class,alpha=class))

在这里插入图片描述

不过会出现警告信息:

离散变量不建议使用

也可以使用shape为不同的种类添加不同的形状

ggplot(mpg,aes(displ,hwy))+geom_point(aes(color=class,shape=class))

在这里插入图片描述

虽然能输出,但suv这里是空的,gplot2只能同时使用6种形状。默认情况下,当使用这种图形属性时,多出的变量值将不会出现在图中。

2.分面:

添加额外变量的一种方法是使用图形属性。另一种方法是将图分割成多个分面,即可以显示数据子集的子图。这种方法特别适合添加分类变量。

要想通过单个变量对图进行分面,可以使用函数facet_wrap()。其第一个参数是一个公式,创建公式的方式是在~符号后面加一个变量名(这里所说的“公式”是R中的一种数据结构,不是数学意义上的公式)。传递给facet_wrap()的变量应该是离散型的。

ggplot(mpg,aes(displ,hwy))+geom_point(aes(color=class))+facet_wrap(~class,nrow=2)

在这里插入图片描述
这里就对车的不同类型完成了分面。
要想通过两个变量对图进行分面,需要在绘图命令中加入函数facet_grid()。这个函数的第一个参数也是一个公式,但该公式包含由~隔开的两个变量名。

在这里插入图片描述

3.添加平滑曲线

只需要把geom_point改为geom_smooth

ggplot(mpg,aes(displ,hwy))+geom_smooth(aes(linetype=drv,color=drv))

在这里插入图片描述

二.绘制条形图

这里用的是r语言的数据diamonds
diamonds数据集是ggplot2的内置数据集,包含大约54 000颗钻石的信息,每颗钻石具有price、carat、color、clarity和cut变量。条形图显示,高质量切割钻石的数量要比低质量切割钻石的数量多,这里使用了fill=cut来填充颜色

ggplot(diamonds,aes(x=cut,fill=cut))+geom_bar()

在这里插入图片描述
如果将fill图形属性映射到另一个变量(如clarity),那么条形会自动分块堆叠起来。每个彩色矩形表示cut和clarity的一种组合。这种堆叠是由position参数设定的位置调整功能自动完成的

ggplot(diamonds,aes(x=cut,fill=clarity))+geom_bar()

在这里插入图片描述

如果不想生成堆叠式条形图,你还可以使用以下3种选项之一:“identity”、“fill"和"dodge”
position = "fill"的效果与堆叠相似,但每组堆叠条形具有同样的高度,因此这种条形图可以非常轻松地比较各组间的比例:

ggplot(diamonds,aes(x=cut,fill=clarity))+geom_bar(position="fill")

在这里插入图片描述

position = "dodge"将每组中的条形依次并列放置,这样可以非常轻松地比较每个条形表示的具体数值:

ggplot(diamonds,aes(x=cut,fill=clarity))+geom_bar(position="dodge")

在这里插入图片描述

设置坐标抽格式

ggplot(data = diamonds) +  geom_bar(  mapping = aes(x = cut, fill = cut),  show.legend = FALSE,  width = 1  ) +  theme(aspect.ratio = 1) + labs(x = "cut", y = "数目")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言---ggplot绘图

散点图 堆积柱形图 library(ggplot2)ggplot(mtcars,aes(mpg,wt))geom_point()簇状柱形图 library(ggplot2) ggplot(mtcars,aes(factor(cyl),fillfactor(am)))geom_bar()直方图 密度图 library(ggplot) ggplot(mtcars,aes(factor(cyl),fillfactor(am)))geom_bar(position&qu…

R语言绘图基础

目录 一、R语言的基本绘图函数 1、高级绘图函数 (1)plot函数 (2)其他高级绘图函数 2、低级绘图函数 二、图形参数与图形控制 1、绘图参数 2、图形控制 3、图形颜色 (1)颜色名称 (2&#…

R语言绘图

画图例子 R Graph Cookbook例子 From:http://www.dataguru.cn/article-1766-1.html 今天突然找到一本专门教授R语言绘图的书,R Graph Cookbook,发现还不错。当初喜欢上R语言就是因为它绘图特别好看。下面把这本书的内容,经过我学…

小米手机通用面具安装,root获取

小米手机通用面具安装,root获取 第一篇 环境准备,解锁手机 小米手机,红米手机通用面具安装方法 一 材料准备 电脑一部,没有的朋友可以去网吧小米或红米手机一部,需登录账号7天以上,可以解锁数据线一条,需要能传数据 二 解锁手机 小米有专门的解锁工具,我就不将其下载下来另存…

ADB的安装和使用教程,小米手机连接adb实例演示

首先我们需要下载 adb 的程序包,只要 1M 就好了。也可以通过安装 android sdk 等工具间接安装,可以自行百度。 小蓝枣的资源仓库,提取码: p8h1 adb 的安装 步骤一: 下载后找个位置把它解压一下。 步骤二: 然后把压缩…

android开发:小米手机开发时非要sim卡才能调试怎么办?

问题: 公司新的测试机是小米2s,但是到了安装调试包时,总是安装失败,不管是打开开发者模式,还是启动或者禁止mui优化功能,都一直出现安装不可用,后来往上查了下,是因为小米系统包稳定…

Mobile - 小米手机如何开通应用分身?应用多开?

有时候办公需要使用多个账号,切换多个应用不停地切换很麻烦,那么,怎么让应用多开,同时在一部手机上使用多个相同的应用呢? 工具 / 原料 小米手机 方法 / 步骤 首先打开小米手机的“设置”,向下滑动&#…

小米手机开发者选项打开usb安装需要SIM卡解决办法

前言 最近在做一些安卓的开发,想用之前用过的小米8做测试 但是打开usb调试的usb安装之后却显示需要插入SIM卡 搜索了一下原因,可能是防止黄牛买来装一大堆第三方APP上去然后打包二次销售,影响消费者 解决办法 不用特意去办一张卡&#x…

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认

MIUI 强制跳过 关闭 打开 小米手机 USB安装 USB安全 USB安全设置 应用确认 一、背景和结论 众所周知,小米手机开启 USB 安装功能,需要插入 SIM 卡登陆、需要登小米账号。我这台手机已root,懒得登陆了,就准备通过修改文件的方式来…

小米手机安装 Charles 证书

1、准备工作 首先电脑安装 Charles(这个不教); 准备一台小米手机(自备,不送); 2、charles 设置代理端口 打开 Charles 的 Proxy > Proxy Settings…;设置代理端口为&#xff1…

小米手机 samba_神仙手机软件!每个都是手机之必备APP!!

大家好,我是越越热爱不止,分享继续,感谢观看。 1.随手存盒 随手存盒是一款可以帮助用户快速找到想要的文件。 它可以一键查看各个平台接收的文件内容,相当于一个文件中转站,并且可以实现不同平台之间的自由传送; 其次此款软件还附带了“电脑管理文件+快传”功能,在同一…

论文的开题报告是什么样的?

马上就要到毕业季了,许多小伙伴开始着手写论文,但在此之前要先把开题报告搞定才行。其实开题报告相比论文而言要简单很多,但对于从未写过开题报告的同学却不知道从哪里下手。下面就为大家介绍一下一份完整的开题报告到底长什么样子&#xff0…

毕业设计的开题报告怎么写?

本文将事无巨细地为你介绍毕业论文开题报告的写法,让你看完就有灵感,能立马上手写出一篇开题报告来,建议点赞收藏哦。 首先,你得知道为什么要写开题报告。开题报告就像是你论文写作的导航软件,帮你确认论文的起点、途径…

论文开题报告的研究基础怎么写?

紧张又充实的大学生活即将结束,大学生们又开始做毕业设计了,而做毕业设计之前指导老师都会要求先写好开题报告,想必大家像我一样在写开题报告时就会有疑惑了:“哎,什么是研究基础,这个怎么写啊?” 不急&am…

开题报告中拟解决的主要问题怎么写?

在研究生求学阶段,学位论文质量的高低是衡量研究生培养质量的重要标志,而论文质量的高低,很大程度上取决于论文开题报告的内容的细致程度。从论文的选题,到研究内容与措施的探讨及最后开题报告的撰写,三者环环相扣&…

开题报告里的基本内容写什么,预期效果又怎么写?

是不是在找开题报告的模板?逮住就别走啦,这一篇帮你一网打尽! 一定教会你一个晚上搞定你的开题报告! 不仅如此,这篇看完,对于你未来整个论文初稿也会提供一些准确的思路哦~ 多说无益,快来一起…

2225年,人类可以通过脑机永生?

文|佘凯文 来源|智能相对论(aixdlun) 2019年以来几部与人工智能有关的动画电影可谓火得不行,先是卡梅隆担任制片的《战斗天使:阿丽塔》,之后则是Netflix的自制系列动画《爱、死亡和机器人》,在这些影片中…

人工智能革命:人类会永生还是灭亡(中)

为什么未来会是我们最大的希望 当我了解人工智能的世界时,我发现有很多人站在这里: 在自信角落里面的人们兴奋地嗡嗡作响。他们把目光投向了平衡木的乐趣的一面,他们确信这就是我们所有人的目标。对他们来说,未来就是他们所希望的…

基因编辑技术:能让人类永生下去?

图:有争议的哈佛大学研究人员丘奇称猪器官将可以用于人体器官移植,利用脑移植治疗老年痴呆症 凤凰网科技讯据《每日邮报》北京时间 7 月 5 日报道,未来有一天,人类将利用猪培养用于人体器官移植的器官,利用脑移植治疗帕…

如何在5分钟内翻译一本书?

我们要翻译一本电子书,首先要准备两件工具: 1、安装calibre,官网下载 ,这是公认最好的电子书编辑软件。 2、DeepL 的Pro帐号,某宝长期供货。 一、使用calibre转换格式 电子书有很多格式:epub、mobi、pd…