R语言数据可视化之美专业图表绘制指南(增强版):第1章 R语言编程与绘图基础

第1章 R语言编程与绘图基础

目录

  • 第1章 R语言编程与绘图基础
    • 前言
    • 1.1 学术图表的基本概念
      • 1.1.1 学术图表的基本作用
      • 1.1.2基本类别
      • 1.1.3 学术图表的绘制原则
    • 1.2 你为什么要选择R
    • 1.3 安装

前言

这是我第一次在博客里展示学习中国作者的教材的笔记。我选择这本书的依据是作者同时具有严谨性和易读性,所以该书适合学习者从了解计算机语言逐渐过渡到运用,为创建论文图表、学习数据分析奠定基础。

本书主要介绍如何使用R中的ggplot2包及其拓展包,以及ggraph、circlize和plot3D等包绘制专业图表。本书先介绍了R语言编程基础知识,以及使用dplyr、tidyr、reshape2等包的数据操作方法;再对比了base、lattice和ggplot2等包的图形语法。本书系统性地介绍了使用ggplot2包及其拓展包绘制类别对比型、数据关系型、时间序列型、整体局部型、地理空间型等常见的二维图表的方法,ggraph、 igraph、circlize等包绘制层次、网络关系型图表,以及使用plot3D包绘制三维图表(包括三维散点图、柱形图和曲面图等)的方法。另外,本书也介绍了论文中学术图表的图表配色、规范格式等相关技能与知识。

请跟我一起学习吧!

1.1 学术图表的基本概念

.数据展示图:先根据数据绘制成图表,再将其导出生成图片,主要包括各种点线图、柱形图、饼图等统计图表,一般使用Excel、GraphPadPrism、SigmaPlot、Origin、MATLAB、Python、R等专业绘图软件绘制(Excel并非如大众所说不能导出高分辨率的图片和矢量图)。注意,保存图片时,一定要保存成高分辨率的TIFF格式和EPS矢量格式的图片,因为矢量图片是可以使用图片处理软件进行再编辑的。由数据生成的图表是可重复修改的,因此一定要保存好原始数据,一旦发现图表有任何问题可以马上进行修改。

2.实验拍摄图:使用设备或者仪器拍摄采集的图片,包括显微镜、扫描仪及摄像机等所拍照片。一定要在最刚开始时就拍成高清的(设置成高分辨率),也就是要保证原始图片的高分辨率,接下来处理图片就会比较方便,免得因为图片质量不佳而重复实验。若有必要,则可以将每张图片存储成TIFF和JPG两种格式(以应对部分期刊的特殊要求)。

3.流程示意图:使用简明的线条、基本图形和箭头等绘制论文中的重要的实验流程或步骤,用以说明基本原理或解释文字材料,一般使用PPT、Visio、Illustrator、CorelDRAW、3DMax等软件绘制。

1.1.1 学术图表的基本作用

读者经常通过图表来判断这篇文章是否值得阅读,所以每个图表都应该能不依赖正文而独立存在。
(1)真实、准确、全面地展示数据;
(2)以较小的空间承载较多的信息;
(3)揭示数据的本质、关系、规律。第三点作用尤为重要,Matthew O. Ward也提出,可视化的终极目标是洞悉蕴含在数据中的现象和规律,这包括多重含义:发现、决策、解释、分析、探索和学习。

比如:原始数据是31组x-y的二维数据。仅仅只从数据的角度去观察数据,就很难发现x与y之间的具体关系。将实际的数据分布情况使用二维可视化的方法呈现,如图1-1-3所示,则可以快速地从数据中发现数据内在的模式与规律。

1.1.2基本类别

黑白:数据系列的区分主要体现在数据标记上,可使用不同的填充纹理。
彩色

1.1.3 学术图表的绘制原则

所以,学术图表首先要规范,符合期刊的投稿要求,然后在规范的基础上实现图表的美观和专业。在当前贯彻科技论文规范化、标准化的同时,图表的设计也应规范化、标准化。总而言之,学术图表的制作原则主要是规范、简洁、专业和美观

规范就是指学术图表符合投稿期刊的图表格式和分辨率方面的要求,这是绘制图表的一个基础条件。绘图时满足投稿期刊的图表要求,这样至少能满足期刊编辑的要求,不会立即被退稿、被要求修改图表格式,例如图表的单位、字体、坐标、图例、轴名等。另外,期刊还会要求图表的分辨率和格式,一般要求RGB彩色图片的分辨率为300dpi及以上。

专业就是指图表要能全面地反映数据的相关信息。当我们获得足够的实验数据后,需要重点思考的就是选择哪种图表能更加全面地表达数据信息。比如,同样是多次重复实验获得的数据,带误差线的散点图、带误差线的柱形图、箱形图等图表类型的选择就是我们要重点考虑的问题。

1.2 你为什么要选择R

学术绘图软件
像Excel、Origin、SigmaPlot、GraphPad Prism这4款软件,就不需要编程,只要点击界面按钮就可以绘制图表。尽管这些工具都非常容易使用,但也存在一些缺憾。只需鼠标操作无疑十分便捷,但随之而来的却是丧失一些灵活性。你可以改变颜色、字体和标题,但仅限于软件所提供的那些元素。这些软件只能由你去适应它的操作规则,让你使用现有的图表,而并不能创造新的图表。

像MATLAB、Python和R这3款软件,则需要编程才能实现图表的绘制。这些软件本身包含很多数据可视化的函数(function)或者包(package),供用户绘图时使用。尤其是在不同的数据集需要重复操作的情况,如果使用界面绘图软件,则可能需要从头到尾将绘图流程重新实现一遍,而相比之下,通过代码来处理数据就会更加容易,因为针对不同的数据集只需稍微改动一下代码就可以解决。如果你充分掌握代码与算法,那也可以自己编写函数设计新颖的图表。

R相较于其他的所有软件,R的优势之一在于,它是专为数据分析而设计的,它是主要用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。R语言有一系列的数据可视化包,包括ggplot2[插图]及ggplot2拓展包、lattice、leaflet、playwith、ggvis、ggmaps。R还提供了部分地图绘制功能,地区数据分析提供了有关地区分析的综合性R工具包列表。另外,用户可以下载《地理统计制图实用指南》——关于如何使用R及其他工具分析空间数据的可免费下载的电子书。

SigmaPlot是一款最佳的学术绘图软件!使用SigmaPlot画出精密的图形是件极容易的事,目前已有超过十万的使用者,特别适合科学家使用。本软件允许用户自行建立任何所需的图形,可插入多条水平轴或垂直轴,指定误差棒(error bar)的方向,让你的图更光彩耀眼,只要用SigmaPlot将图形制作完成即可动态连接给其他软件展示使用,并可输出成EPS、TIFF、JPEG等图形格式,或放置于网站上以供浏览。非常适合网站动态显示图形,使用场合如长时间记录的气象、温度等。

GraphPad Prism是一款集数据分析和作图为一体的数据处理软件,尤其适合生物医学类,可以直接输入原始数据获得高质量的学术图表。它在统计分析上劣于SPSS等统计软件,但是不需要输入程序语言,只需输入原始数据,其操作容易、绘图美观。可与PPT、Word相连接。

1.3 安装

包安装好之后,需要加载才能使用。现在主要有两种函数可供选择:library()或者require(),比如:library(ggplot2)。有时已经加载的包可能需要卸载。这个可以在RStudio中的“Packages”界面取消勾选相应的复选框,或使用detach()函数:detach(“package:ggplot2”)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

认识通讯协议——TCP/IP、UDP协议的区别,HTTP通讯协议的理解

目录 引出认识通讯协议1、TCP/IP协议,UDP协议的区别2、HTTP通讯协议的讲解 Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 认识通讯协议——TCP/IP、UDP协议的区别,HTTP通讯协议的理解 认识通讯协议 …

【脑切片图像分割】MATLAB 图像处理 源码

1. 简单图像处理 加载图像 Brain.jpg,使用直方图和颜色分割成区域这些区域有不同的颜色。 这是一个更高级的问题,有多个解决它的方法。 例如,您可以计算具有特定数字的图像的直方图(例如 16 - 32),找到直方…

黑马JavaWeb开发跟学(二)Web前端开发JavaScript、Vue基础

黑马JavaWeb开发跟学二.Web前端开发JavaScript、Vue基础 前言1 JavaScript1.1 介绍1.2 引入方式1.3 基础语法1.3.1 书写语法1.3.2 变量1.3.3 数据类型和运算符 1.4 函数1.4.1 第一种定义格式1.4.2 第二种定义格式 1.5 JavaScript对象1.5.1 基本对象1.5.1.1 Array对象语法格式特…

论文笔记:基于互信息估计和最大化的深度表示学习

整理了ICLR2019 LEARNING DEEP REPRESENTATIONS BY MUTUAL INFORMATION ESTIMATION AND MAXIMIZATION)论文的阅读笔记 背景模型 论文地址:DIM code:代码地址 背景 发现有用的表示是深度学习的一个核心目标,由于之前的工作已经可以…

RocketMQ—RocketMQ集成SpringBoot

RocketMQ—RocketMQ集成SpringBoot 新建生产者的boot项目和消费者的boot项目&#xff0c;pom文件重点如下&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</arti…

[RoarCTF 2019]Easy Calc

这题考查的是: 字符串解析特性目录读取文件内容读取 字符串解析特性详解&#xff1a;PHP字符串解析特性 &#xff08;$GET/$POST参数绕过&#xff09;&#xff08;含例题 buuctf easycalc&#xff09;_参数解析 绕过-CSDN博客 ascii码查询表&#xff1a;ASCII 表 | 菜鸟工具 …

ubuntu 20.04下查找pycharm-vscode-qtcreator安装路径-查快捷方式路径-pycharm要以root权限运行脚本

环境&#xff1a;ubuntu20.04 两个用户&#xff1a;root ips3000 qtcreator和pycharm是用户ips3000从软件商店中安装的。1.快捷键和启动方式注意关键词&#xff0c;名字不一样。 桌面快捷方式 启动方式 Pycharm Pycharm-community.desktop Pycharm.sh Qtcreator **qtcrea…

程序媛的mac修炼手册-- Node.js入门篇

最近因为参与一个微信小程序的开发&#xff0c;开始摸索JavaScript。期间&#xff0c;需要基于Node.js安装微信开发工具的依赖项&#xff0c;所以又顺带学习了Node.js的包管理工具npm&#xff08;Node Package Manager&#xff09;。不过&#xff0c;之前看到国外的全栈大佬​​…

GEE入门篇|图像处理(二):在Earth Engine中进行波段计算

目录 波段计算 1.NDVI的计算 2.NDVI 归一化差值的单次运算计算 3.使用 NDWI 的归一化差值 波段计算 许多指数可以使用 Earth Engine 中的波段运算来计算。 波段运算是对图像中两个或多个波段进行加、减、乘或除的过程。 在这里&#xff0c;我们将首先手动执行此操作&#x…

政安晨:【掌握AI的深度学习工具Keras API】(二)—— 【使用内置的训练循环和评估循环】

渐进式呈现复杂性&#xff0c;是指采用一系列从简单到灵活的工作流程&#xff0c;并逐步提高复杂性。这个原则也适用于模型训练。Keras提供了训练模型的多种工作流程。这些工作流程可以很简单&#xff0c;比如在数据上调用fit()&#xff0c;也可以很高级&#xff0c;比如从头开…

ShardingSphere inline表达式线程安全问题定位

ShardingSphere inline表达式线程安全问题定位 问题背景 春节期间发现 ShardingSphere 事务 E2E 偶发执行失败问题&#xff0c;并且每次执行失败需要执行很久&#xff0c;直到超时。最终定位发现 inline 表达式存在线程安全问题。本文记录定位并解决 inline 表达式线程安全问…

实验笔记之——Ubuntu20.04配置nvidia以及cuda并测试3DGS与SIBR_viewers

之前博文测试3DGS的时候一直用服务器进行开发&#xff0c;没有用过笔记本&#xff0c;本博文记录下用笔记本ubuntu20.04配置过程&#xff5e; 学习笔记之——3D Gaussian Splatting源码解读_3dgs运行代码-CSDN博客文章浏览阅读3.2k次&#xff0c;点赞34次&#xff0c;收藏62次…

编写科技项目验收测试报告需要注意什么?第三方验收测试多少钱?

科技项目验收测试是一个非常重要的环节&#xff0c;它对于确保科技项目的质量和可用性起着至关重要的作用。在项目完成后&#xff0c;进行科技项目验收测试可以评估项目的功能、性能和可靠性等方面&#xff0c;并生成科技项目验收测试报告&#xff0c;以提供给项目的相关方参考…

keil uv5 map文件解析

map参考博客&#xff1a;https://www.csdn.net/tags/MtjaYgwsMTY2NzUtYmxvZwO0O0OO0O0O.html 配置外部flash存储代码&#xff1a;https://strongerhuang.blog.csdn.net/article/details/51485903?spm1001.2101.3001.6650.4&utm_mediumdistribute.pc_relevant.none-task-bl…

使用 Helm 安装 极狐GitLab

本篇作者 徐晓伟 使用 Helm 简便快捷的部署与管理 极狐GitLab 前提条件 k8s 完成 helm 的配置 k8s 完成 ingress 的配置 内存至少 10G 演示环境是 龙蜥 Anolis 8.4&#xff08;即&#xff1a;CentOS 8.4&#xff09;最小化安装k8s 版本 1.28.2calico 版本 3.26.1nginx ingre…

Dockerfile(5) - CMD 指令详解

CMD 指定容器默认执行的命令 # exec 形式&#xff0c;推荐 CMD ["executable","param1","param2"] CMD ["可执行命令", "参数1", "参数2"...]# 作为ENTRYPOINT的默认参数 CMD ["param1","param…

高瓴张磊入籍新加坡,这代表了什么?

文&#xff5c;新熔财经 作者&#xff5c;显洋 这两天&#xff0c;海外媒体报道了中国投资大佬与企业家拿到新加坡永居的事儿。本来乏善可陈的文章&#xff0c;却因为一个人名的出现变得有趣起来——高瓴创始人张磊&#xff0c;一位曾经在国内如日中天&#xff0c;但今天鲜少…

论文阅读:2020GhostNet华为轻量化网络

创新&#xff1a;&#xff08;1&#xff09;对卷积进行改进&#xff08;2&#xff09;加残差连接 1、Ghost Module 1、利用1x1卷积获得输入特征的必要特征浓缩。利用1x1卷积对我们输入进来的特征图进行跨通道的特征提取&#xff0c;进行通道的压缩&#xff0c;获得一个特征浓…

解放设计师的创造力:免版的图片素材

title: 解放设计师的创造力&#xff1a;免版的图片素材 date: 2024/2/29 15:10:19 updated: 2024/2/29 15:10:19 tags: 版权无忧创意自由设计效率视觉提升广告设计UI/UX素材移动应用 在设计领域&#xff0c;设计师常常需要使用图片素材来增加作品的视觉效果。然而&#xff0c;…

Docker技术概论(1):Docker与虚拟化技术比较

Docker技术概论&#xff08;1&#xff09; Docker与虚拟化技术比较 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…