b站课程视频链接:
https://www.bilibili.com/video/BV19x411X7C6?p=1
腾讯课堂(最新,但是要花钱,我花99😢😢元买了,感觉讲的没问题,就是知识点结构有点乱,有点废话):
https://ke.qq.com/course/3707827#term_id=103855009
本笔记前面的笔记参照b站视频,【后面所有画图笔记】参考了付费视频
笔记顺序做了些调整【个人感觉逻辑顺畅】,并删掉一些不重要的内容,以及补充了个人理解
系列笔记目录【持续更新】:https://blog.csdn.net/weixin_42214698/category_11393896.html
🔥🔥🔥总结不易,还望各位友友,多多支持&&点赞🙏🙏你的鼓励是我更新的动力!
文章目录
- 1. R语言绘图系统介绍
- 1.1 图的类型
- 1.2 数据维度
- 1.3 绘图获取帮助
- 1.4 绘图设备
- 2. 高级绘图与低级绘图
- 2.1 高级绘图命令
- 2.2 低级绘图命令
- 3. 绘图参数
- 3.1 符号和线条
- 3.2 颜色
- 3.3 文本属性(用来指定字号、字体、字样)
- 3.4 图形尺寸与图形边界
- 3.5 标题
- 3.6 坐标轴
- 3.7 参考线
- 3.8 图例(legend)
- 4. 绘图函数包
1. R语言绘图系统介绍
R 语言具有强大的绘图功能,可以满足科研绘图的需求,越来越多的文章中采用 R 语言来进行绘图。
按照绘图方式,R 语言可以分为四大绘图系统,分别是:
1、R 基础绘图系统 3、lattice 绘图
2、Grid 绘图系统 4、ggplot2 绘图。
除此之外,R 还有非常多的扩展包,几乎可以完成任何形式的绘图要求,无论是 2D 绘图还是 3D 绘图。最新的 shinny 包,还可以绘制交互式的绘图操作
学习途径:
数据可视化:https://www.data-to-viz.com/
R 绘图合集:https://www.r-graph-gallery.com/
1.1 图的类型
1、分布:散点图,密度图,直方图,直方图,小提琴图等
2、关系型:散点图,热图,相关性,气泡图等
3、变化趋势:条形图,雷达图,星云图,玫瑰风向图等
4、整体部分:堆叠(分组)条形图,饼图,树形图等
5、进化:折线图,面积图,时间序列图等;
1.2 数据维度
对于 R 语言绘图来说,最重要的其实是数据,也就是数据结构。每一个函数都有固定的数据结构要求,所以在画图之前必须了解数据的维度,是一维数据还是二维数据还是多维数据。以及是连续数据,还是分类数据。
不同类型以及不同维度的数据采用不同的展现模式。
一般来说,数据的维数越高,展示起来越复杂。
一维数据
比较容易,一般常用点图,线图,饼图等来展示。二维数据
一般是矩阵,可以使用热图,条形图的等。多维数据
,一般采用多种元素来展现。
例如,同一个点,可以通过点的大小对应(映射)数据大小,点的颜色,形状对应分类数据
1.3 绘图获取帮助
R 语言有非常完善的帮助系统,一般的绘图函数都有详细的帮助文档以及案例数据,可以通过 R 自带的案例数据进行学习。了解每个函数所需数据结构。此外,可以通过 example()函数运行绘图函数自带的案例数据。
然后在将自己的数据结构“做成”与案例数据结构一样的即可
example(boxplot)
demo (graphics)
demo(persp)
1.4 绘图设备
默认 R 绘图展示在绘图窗口中,可以直接显示,可以通过设置修改默认绘图设备。
绘图设备也称为图形设备” (Devices),指的是一个绘图的窗口或文件。
默认的绘图设备为屏幕显示(也就是Rstudio的右下角),也可以直接保存为文件。
不同的文件类型属于不同的绘图设备。R 支持的常用的绘图设备有以下几种:
在各种 R 的绘图设备中,最常用的为 X11 和 pdf。
- X11 在绘图调试过程中非常方便,不用每次打开绘图文件,属于边绘图边查看的方式,所见即所得,这种交互式的方式适合调整图形,例如修改不同的绘图选项参数。
- 在确定最终绘图方式并生成图形文件进行保存时,推荐使用pdf 格式,因为 R 绘制的 pdf 图形为矢量图(不失真), pdf 通用性较强,便于后期调整。绘制 pdf 图形的函数为 pdf() 。
当绘图函数开始执行时,如果没有打开绘图设备,那么 R 将打开一个绘图窗口来展示这个图形,默认打开的就是 X11 窗口,也可以使用命令 x11() 来直接打开一个绘图窗口。
R 可以同时打开多个绘图设备,dev.list( )最后一个设备将作为绘图时使用的设备,随后的所有图形都将在这上面显示。
# 打开(默认)窗口
x11()
# 图片直接输出到pdf中【当前工作目录】
pdf("文件名.pdf")
# 可以显示所有打开的设备列表。
dev.list()
# 关闭虚拟号为3的设备窗口
dev.off(3)
2. 高级绘图与低级绘图
按是否能够自动创建新的图形,R 的绘图函数可以分为两类——高级绘图函数
和低级绘图函数
。
高级绘图函数可以创建一个新的图形,低级绘图函数是在现有的图形上添加元素。
一般的,使用高级绘图命令绘制图形的框架,使用低级绘图命令对图形进行补充。
另外,R 的绘图参数是对图形进行个性化修饰和调整的
2.1 高级绘图命令
R 中的高级绘图命令约有 20 多种,这里将最为常用的高级绘图命令概括如下:
2.2 低级绘图命令
R 中的低级绘图命令是针对现存图形的处理的,是对高级绘图命令产出的图形进行的补充。下面是一些主要的低级绘图命令:
3. 绘图参数
直接在 R 编辑器中输入命令 par()或者 par( no.readonly=TRUE)都可以获取当前的各个绘图参数。
3.1 符号和线条
pch:指定绘制点所使用的符号,取值范围[0, 24],其中 4 是“差号”,20 是“点”
cex:指定符号的大小。cex 是一个数值,表示 pch 的倍数,默认是 1.5 倍【即点的大小,对点进行缩放】
lty:指定线条类型。lty=1 代表实线,2 至 6 都是虚线,虚的程度不一样
lwd:指定线条宽度,默认值为 lwd=1,可以适当修改 1.5 倍、2 倍等
3.2 颜色
col:默认绘图颜色。某些函数(如 lines、pie)可以接受一个含有颜色值的向量,并自动循环使用。
col.axis:坐标轴刻度文字的颜色,不是坐标轴的颜色
col.lab:坐标轴标签(名称)的颜色
col.main:标题的颜色
col.sub:副标题的颜色
fg:图形的前景色
bg:图形的背景色
3.3 文本属性(用来指定字号、字体、字样)
cex.axis:坐标轴刻度文字的缩放倍数
cex.lab:坐标轴标签(名称)的缩放倍数
cex.main:标题的缩放倍数
cex.sub:副标题的缩放倍数
font:整数。用于指定字体样式。1 常规、2 粗体、3 斜体、4 粗斜体
3.4 图形尺寸与图形边界
pin:以英寸表示图形的宽和高
mai:以数值向量表示边界大小,顺序为"下、左、上、右",单位为英寸
48 / 110
mar:以数值向量表示边界大小,顺序为"下、左、上、右",单位为英分,默认值 c(5, 4, 4,
2)+0.1
3.5 标题
可以使用函数 title,格式为:title(main = " ", sub = " ", xlab = " ", ylab = "")
3.6 坐标轴
axes=FALSE 将禁用全部坐标轴,框架和刻度全部没有了
xaxt="n" 禁用 x 轴的刻度线
yaxt="n" 禁用 y 轴的刻度线
xlim x 坐标轴的范围,只写出最小值和最大值
ylim y 坐标轴的范围,只写出最小值和最大值
side:一个整数。表示在图形的哪边绘制坐标轴(1=下,2=左,3=上,4=右)
at:一个数值向量,表示需要绘制刻度线的位置
labels:一个字符型向量(也可以是数值型),表示刻度线旁边的文字标签(刻度值),如果整个不
写,则直接使用 at 的值
col:线条和刻度的颜色
lty:线条类型
las:标签的字体是否平行(=0)或者垂直(=2)坐标轴
tck:刻度线的长度(默认值-0.01,负值表示刻度在图形外,正值表示刻度在图形内侧)
3.7 参考线
abline(h=yvalues, v=xvalues)
3.8 图例(legend)
legend(location, title, legend, ……)
4. 绘图函数包
R 语言绘图强大之处就在于 R 包含众多的绘图扩展包,几乎可以完成任何形式的绘图要求,而且还在不断增加之后,下面列出了 28 个实用程序包: