R语言数据可视化包ggplot2画图之散点图
ggplot2的功能很强大,并因为其出色的画图能力而闻名,下面来介绍一下它的基本画图功能,本期介绍散点图的基本画法。
在ggplot2里,所有图片由6个基本要素组成:
1. 数据(Data)
2. 层次(Layers),包含两种元素:几何元素(Geometrics)与统计转换(Statistical transformations)。
几何元素指的是你想画的图形,如点,线,或多边形等。
统计转换指的是你想画的统计描述,如均数,标准差或可信区间等。
3. 刻度(Scales), 通常指几何元素(如点或者线)的大小,颜色和形状等。
4. 坐标系统(A coordinate system), 通常指的是x轴与y轴。
5. 多面化(Faceting),简单的说,就是可以将一个图片分成多个小的亚图片。
6. 主题 (Theme),此要素可以控制非数据与非统计部分的内容,如背景颜色,字体大小等。
下面以一个简单的例子引入:
library(ggplot2)#导入ggplot包
#使用mtcars数据做一个散点图
ggplot(data = mtcars, # 要素1:数据aes(x = wt, y = mpg, colour = factor(cyl))) + # 要素3:刻度geom_point() + # 要素2:几何元素(点)coord_cartesian() + # 要素4:坐标轴facet_wrap(~ cyl) + # 要素5:分面化theme_bw() # 要素6:主题
其中mtcars数据概况如下:
首先介绍第一类常用的图像类型:散点图
#载入ggplot2
library(ggplot2)
#建立数据集,横坐标为1:100,纵坐标为服从标准正态分布的随机数
x <- seq(1,100,length=100)
y <- rnorm(100,mean=0,sd=1)
data <- data.frame(x=x,y=y)
#作散点图
ggplot(data, aes(x=x, y=y)) + geom_point()
给原始数据加上分类标签:
x <- seq(1,100,length=100)
y <- rnorm(100,mean=0,sd=1)
z <- c(rep("A",30),rep("B",30),rep("C",40))
z <- sample(z,100)
data <- data.frame(x=x,y=y,z=z)
数据概况如下:
按z列分类以不同的颜色在图中画出散点图:
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()
按z列分类以不同的形状在图中画出散点图:
ggplot(data, aes(x=x, y=y,shape=z)) + geom_point()
多面化(将ABC三类分开展示):
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()+facet_wrap(~z)+theme(legend.position = "none")
若不加
theme(legend.position = "none")
这一段代码,显示的图表如下:
可以看出不加这一段代码侧边栏显示图例,但显然这个图例是多余的,因此我们一般去掉
自定义颜色:
ggplot(data, aes(x=x, y=y,color=z)) + geom_point()+facet_wrap(~z)+theme(legend.position = "none")+scale_colour_manual(values = c("purple", "red", "black"))
添加拟合曲线:
x <- seq(1,50,length=50)
y <- rnorm(50,mean=0,sd=5)
z <- c(rep("A",20),rep("B",15),rep("C",15))
z <- sample(z,50)
data <- data.frame(x=x,y=2*x-y,z=z)#这里构造的数据集大致服从y=2x
ggplot(data, aes(x=x, y=y)) + geom_point()+geom_smooth()#添加拟合曲线,默认的形式是局部回归,所以拟合出的线条是曲线。
因为geom_smooth()默认的形式是局部回归,所以拟合出的线条是曲线,阴影区域为置信区间。
这里也可以用其他模型拟合,如线型模型:
ggplot(data, aes(x=x, y=y)) + geom_point()+geom_smooth(method = "lm", se = FALSE)
(se = FALSE:去除置信区间)
更换主题 :
ggplot(data, aes(x=x, y=y)) + geom_point()+theme_test()
R语言数据可视化包ggplot2画图之散点图相关推荐
- R语言数据可视化包ggplot2之折线图
ggplot2的功能很强大,并因为其出色的画图能力而闻名,下面来介绍一下它的基本画图功能,本期为折线图的基本画法. 在ggplot2里,所有图片由6个基本要素组成: 1. 数据(Data) 2. 层次 ...
- R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介
R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...
- 半折预售:新书-R语言数据可视化之美|ggplot2作者推荐
我本来想等正式发售的时候,再告诉大家我的新书<R语言数据可视化之美>已经出版,奈何新书还太贵,这几天刚好京东有买100减50的活动,所以想想还是赶紧告诉大家吧,不然平时购买的话,太真有点小 ...
- R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet
R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...
- R语言R原生及可视化包ggplot2绘制并排的箱图实战(Side-by-Side Boxplots)
R语言R原生及可视化包ggplot2绘制并排的箱图实战(Side-by-Side Boxplots) 目录 R语言R原生及可视化包ggplot2绘制并排的箱图实战(Side-by-Side Boxpl ...
- R语言数据可视化 ggplot2基础4 位置与坐标系
R语言数据可视化 ggplot2基础4 位置与坐标系 我们继续使用ggplot2::diamonds介绍position. position = "identity" ggplot ...
- R语言数据可视化 ggplot2基础3 添加几何对象
R语言数据可视化 ggplot2基础3 添加几何对象 数据的统计变换 添加几何对象 数据的统计变换 添加几何对象 上一讲我们介绍的是如何创建散点图,这一讲我们介绍如何创建其他类型的图,以及怎么创建有多 ...
- R语言数据可视化——图形色彩设计(调色盘)
R语言数据可视化--图形色彩设计 图形颜色的选择对我们最终图形呈现的效果影响很大,我们需要用到的图形配色也跟随着图形出现的场合而变化,这篇文章整理了前辈们制作的在ggplot包绘制图形时,常常使用的配 ...
- 推荐:一本“高颜值”的R语言数据可视化图书(包邮送3本)
文章留言点赞前3名的朋友,每人送1本<R语言数据化可视化之美增强版>,名单揭晓日期为:本周日 (2020年7月12日晚7点).到时,获奖的朋友可以直接添加微信:meta-genomics, ...
最新文章
- scapy on openwrt
- 计算机视觉开源库OpenCV之threshold()函数详解
- 学生成绩等级评定python_马鞍山市初中学生综合素质评价工作政策解读来了!
- 3种骚操作,教你查看 Java 字节码!
- VC++取MD5算法记录下以后用得到(转)
- Vue2.0通过二级路由实现页面切换
- php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
- 去哪儿-05-recommendDev
- java logic逻辑,logicJava的复习
- (77)FPGA时钟激励(always)
- oracle权限不足的报错,Oracle Scott创建视图权限不足解决办法
- Android7.1 Offload模式下的音频数据播放流程
- 一键修改电脑硬件信息_不想使用iPhone锁屏键?一键锁屏快捷指令来了
- 进销存数据库设计 For MysQL
- 跟周鸿祎学互联网思维 ——《周鸿祎自述|我的互联网方法论》读后感
- Redis使用场景举例
- 网站出现安全证书过期的原因
- C#中TransactionScope的使用小结
- 一加5应用未安装怎么解决_一加手机x安装不了软件下载是什么原因?怎么解决?...
- Hive视图与物化视图