当前位置: 首页 > news >正文

8. R语言绘图系统介绍、高级绘图与低级绘图、【绘图参数】、绘图函数包

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 代表实线,26 都是虚线,虚的程度不一样
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 个实用程序包:
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 查邮箱注册的网站/潮州seo
  • 昆明哪里做网站/百度seo收录
  • 品牌网站建设价格实惠/郑州seo多少钱
  • 做公司网站需要什么程序/seo运营推广
  • wordpress 小图标/b2b网站免费推广平台
  • 免费网站应用/营销外包
  • 2023-01-18 flink 11.6 时间水印 和 窗口周期的关系计算方法
  • 静态代理和JDK动态代理以及CGLIB动态代理
  • 【信息系统项目管理师】论文写作心得整理篇
  • 85.机器翻译与数据集
  • 【p2p】初识Safire 基于 libnice 的 World wide parment system
  • (小甲鱼python)函数笔记合集四 函数(IV)总结 函数中参数的作用域 局部作用域 全局作用域 global语句 嵌套函数 nonlocal语句等详解
  • pytorch【Conv2d参数介绍】
  • 初学者C语言练习题-入门
  • 跨境电商必知:这7种实用的保留策略,可以有效减少客户流失
  • 激光雷达对植被冠层结构和SIF同时探测展望
  • 代码随想录算法训练营第七天 | 454.四数相加II ,383. 赎金信 ,15. 三数之和,18. 四数之和
  • Go map 实现原理