猜你喜欢
R语言数据可视化之美:专业图表绘制指南(增强版)

R语言数据可视化之美:专业图表绘制指南(增强版)

书籍作者:张杰 ISBN:9787121374432
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3187
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

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


作者简介

张杰

数据分析与可视化达人;

EasyCharts微信公众号联合主创;

著有15篇SCI(E)和SSCI学术论文;

出版专著《Excel 数据之美:科学图表与商业图表的绘制》和《R语言数据可视化之美:专业图表绘制指南》;

第11届和第12届中国R会议数据可视化演讲嘉宾;

学术研究方向为颜色科学、机器视觉、数据分析与可视化等。


编辑推荐

《R语言数据可视化之美:专业图表绘制指南(增强版)》中增加了多种地理空间型图表,以及层次关系型图表、网络关系型图表。

《R语言数据可视化之美:专业图表绘制指南(增强版)》以R语言为背景,通俗易懂地讲述了大量数据可视化领域的专业知识,从图形语法、色彩原理、视觉通道到各类图表的应用实践。


前言

前言


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


本书定位


虽然现在Python语言越来越流行,尤其是在机器学习与深度学习等领域,但是R语言在数据分析与可视化方面仍然具有绝对的优势,其中ggplot2包及其拓展包人性化的绘图语法大受用户的喜爱,特别是生物信息与医学研究者。Nature、Science和Cell等期刊上大量的图表都是使用R语言绘制的,所以很有必要系统性地介绍R语言的绘图方法。


Rggplot2有两本很经典的教程:ggplot2ElegantGraphicsforDataAnalysis和RGraphicsCookbook,两本书重点介绍了ggplot2包的绘图语法及常见图表的绘制方法,但是其中介绍的图表种类并不多。所以本书基于R中的ggplot2包及其拓展包和plot3D包,系统性地介绍了几乎所有常见的二维和三维图表的绘制方法,包括简单的柱形图系列、条形图系列、折线图系列,以及复杂的和弦图、矩形树状图、日历图等。


读者对象


本书适用于想学习数据分析与可视化相关专业课程的高校学生,以及对数据分析与可视化感兴趣的职场人士阅读,尤其是R语言用户。从软件掌握程度而言,本书同样适用于零基础学习R语言的用户。


阅读指南


全书内容共有12章,其中,第1章和第2章是后面9章的基础,第3~11章都是独立章节,可以根据实际需求有选择性地进行学习。


第1章介绍R语言编程与数据可视化基础,对比了base、lattice和ggplot2包的图形语法,重点介绍了ggplot2包的图形语法;


第2章介绍R语言数据处理基础,重点介绍了使用dplyr、tidyr、reshape2等包的数据操作方法;第3章介绍类别比较型图表,包括柱形图系列、条形图系列、南丁格尔玫瑰图、径向柱图等约30张图表;


第4章介绍数据关系型图表,包括二维和三维散点图、气泡图、等高线图、三维曲面图、三元相图、二维和三维瀑布图、相关系数热力图等约60张图表;


第5章介绍数据分布型图表,包括一维、二维和三维的统计直方图和核密度估计图、抖动散点图、点阵图、箱形图、小提琴图等约50张图表;


第6章介绍时间序列型图表,包括折线图和面积图系列、日历图、螺旋图系列、量化波形图、地平线图等约20张图表;


第7章介绍局部整体型图表,包括饼图、散点复合饼图系列、马赛克图、华夫饼图等约20张图表;


第8章介绍高维数据的可视化方法,包括分面图系列、矩阵散点图、热力图、平行坐标系图、RadViz图、图标法等约20张图表;


第9章介绍层次关系型图表,包括节点链接图、旭日图、矩形树状图、树形图、桑基图等约10多张图表;


第10章介绍网络关系型图表,包括节点链接图、弧线链接图、蜂巢网络图、和弦图等约10多张图表;


第11章介绍地理空间型图表,包括从世界到国家、再到地方局部的地图,还有分级统计地图,点描法地图,带气泡、柱形、饼图、连接线的地图,等位地图、线型地图等30多张不同的地图图表。


第12章介绍论文中学术图表的常用技能,包括常见的截图与图片处理软件及其功能、矢量图片的修改、论文中学术图表数据的提取与重绘、论文中学术图表的规范与调整等。


应用范围


本书的图表绘制方法都是基于R中的ggplot2包及其拓展包和其他绘图包实现的,几乎适应于所有常见的二维和三维图表。本书以虚拟地图的数据为例讲解不同的地理空间型图表,读者需将绘图方法应用到实际的地理空间型图表。


适用版本


本书所用R版本为:3.3.3。R作为免费的开源软件,数据分析与可视化的包更新迭代很快,这是它的优势。但是有时候有些代码运行可能会由于R或者R包版本的更新,而出现函数弃用(deprecated)的情况。此时,需要自己更新代码,使用新的函数替代原有的函数。


源代码


本书配有几乎所有图表的R语言源文件及其.csv或.txt格式的数据源文件。但是需要注意的是,如果运行的R语言版本没有安装相应的数据分析与可视化的包(package),那么请预先安装相应的包,才能成功运行代码。同时,也请注意运行R语言和R包的版本是否已经更新。源代码下载Github网址:https://github.com/EasyChart/Beautiful-Visualization-with-R。


与我联系


因本人知识与能力所限,书中纰漏之处在所难免,欢迎并恳请读者朋友们给予批评与指正,可以通过邮箱联系笔者;如果读者有关于R语言学术图表或商业图表绘制的问题,可以与笔者交流。另外,更多关于R语言图表绘制的教程请关注笔者的博客、专栏和微博平台。也可以重点关注我们的微信公众号:EasyCharts,还可以添加笔者微信:EasyCharts。笔者的R语言数据分析与可视化的文章会优先发表在微信公众号平台。


致谢


桃李春风一杯酒,江湖夜雨十年灯。笔者的处女作《Excel数据之美:科学图表与商业图表的绘制》也至今出版逾两年,一直想着要修订这本书。但是旧书未翻新,新书忙于码字改稿,实在是有愧于读者。其实,在撰写这本新书的时候,数次想放弃。写书实在是一件费力劳神的事情,笔者是凭借着对数据可视化的热爱才坚持至今。


这本书从2017年5月25日开始动笔,断断续续居然也花费了两年的时间。与其说是花费,不如说是陪伴吧。笔者经常对朋友开玩笑说,心情不好的时候码码代码、画画图表,是一件消磨时间、放松心情的事情。


在断断续续的写稿中,笔者也认识了很多热爱数据分析与可视化的朋友,甚是荣幸,也得益于他们的帮助。很感谢《R语言游戏数据分析与挖掘》的作者谢佳标老师和先锋信息科技有限公司CEO林祯舜老师对笔者的鼓励与帮助,也因此有幸参加了2018年的R语言大会;也非常感谢在码字、写代码时一起交流学习的李誉辉(四川大学高分子学院)、杜雨(美团用户平台—大数据与算法部—商业分组部)、刘钰(河南大学土木建筑学院)、厚缊(深圳中观经济咨询有限公司)等诸多技术大佬。因为有你们的帮助,所以才有今天这本书。


最后,想对大家说,也是对自己说:且将新火试新茶,诗酒趁年华!


增强版特别说明


随心而动,立志而行。现在的生活纷纷扰扰,可以做自己喜欢的事情实属难得。笔者的《R语言数据可视化之美:专业图表绘制指南》于2019年5月出版,没想到如此受大家喜爱,有些读者都买了好几本。实在惭愧,由于《地图管理条例》的相关规定,涉及地图的内容都需要严格审查才能出版,所以笔者不得不删减了呕心沥血撰写的关于地理空间型图表的章节,然而很多读者其实特别关注这个部分。


笔者后来想到一个迂回曲折的办法,自己虚拟了几个国家和城市的信息数据,使用虚拟地图的方式讲解各种地理空间型图表,这样才使得相关内容顺利出版。另外,笔者顺便把读者反映的层次关系型和网络关系型图表也逐一添加进增强版中。到目前为止,常见的图表类型基本都已经被囊括书中。


R包的更新迭代很快,也层出不穷。在此,非常感谢辛勤的开发者们。小时候学到一句话:学如逆水行舟,不进则退。R包的更新与创新,也促使大家要不断地学习,才能跟上新的技术。所以,也希望大家不断学习、不断进步。


再次感谢杜雨、李誉辉、刘钰、厚缊等诸多技术大佬。因为有你们的帮助,所以才有今天这本书。最后,想再次对大家说,也是对自己说:学如逆水行舟,不进则退。


作者


2019年9月2日


目录

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


1.1学术图表的基本概念.2


1.1.1学术图表的基本作用.3


1.1.2学术图表的基本类别.5


1.1.3学术图表的绘制原则.7


1.2你为什么要选择R.8


1.3R软件的安装与使用.15


1.3.1R与RStudio的安装.15


1.3.2包的安装与加载.16


1.4R语言编程基础.17


1.4.1数据类型.17


1.4.2数据结构.18


1.4.3数据属性.21


1.4.4数据的导入与导出.23


1.4.5控制语句与函数编写.26


1.5R语言绘图基础.28


1.6ggplot2图形语法30


1.6.1geom_xxx()与stat_xxx().32


1.6.2视觉通道映射.34


1.6.3度量调整.38


1.6.4坐标系.44


1.6.5图例.53


1.6.6主题系统.55


1.6.7位置调整.58


1.7学术图表的色彩运用原理.62


1.7.1颜色模式.62


1.7.2颜色主题的搭配原理.67


1.7.3学术图表的颜色主题.70


1.7.4颜色方案的拾取使用.72


1.7.5颜色主题的应用案例.75


1.8图表的基本类型.78


1.8.1类别比较.79


1.8.2数据关系.79


1.8.3数据分布.81


1.8.4时间序列.82


1.8.5局部整体.82


1.8.6地理空间.83


第2章R语言数据处理基础.84


2.1表格的转换.85


2.1.1表格的变换.85


2.1.2变量的变换.86


2.1.3表格的排序.87


2.2表格的整理.87


2.2.1表格的拼接.87


2.2.2表格的融合.88


2.2.3表格的分组操作.90


第3章类别比较型图表93


3.1柱形图系列.94


3.1.1单数据系列柱形图.95


3.1.2多数据系列柱形图.96


3.1.3堆积柱形图.97


3.1.4百分比堆积柱形图.98


3.2条形图系列.99


3.3不等宽柱形图.100


3.4克利夫兰点图系列.101


3.5坡度图.103


3.6南丁格尔玫瑰图.104


3.7径向柱形图.108


3.8雷达图110


3.9词云图113


第4章数值关系型图表117


4.1散点图系列118


4.1.1趋势显示的二维散点图118


4.1.2分布显示的二维散点图.125


4.1.3气泡图.129


4.1.4三维散点图.132


4.2曲面拟合图.136


4.3等高线图.139


4.4切面图.140


4.5三元相图.142


4.6散点曲线图系列.143


4.7瀑布图.145


4.8相关系数图.151


4.9韦恩图.153


第5章数据分布型图表155


5.1统计直方图和核密度估计图.157


5.1.1统计直方图.157


5.1.2核密度估计图.157


5.2数据分布型图表系列.161


5.2.1散点分布图系列.162


5.2.2柱形分布图系列.164


5.2.3箱形图系列.165


5.2.4其他图表.170


5.3二维统计直方图和二维核密度估计图.180


5.3.1二维统计直方图.180


5.3.2二维核密度估计图.180


5.4金字塔图和镜面图.184


第6章时间序列型图表186


6.1折线图与面积图系列.187


6.1.1折线图.187


6.1.2面积图.187


6.2日历图.191


6.3螺旋图.194


6.4量化波形图.199


6.5地平线图.202


第7章局部整体型图表2057.1饼状图系列.206


7.1.1饼图.206


7.1.2圆环图.208


7.1.3复合饼图系列.208


7.2马赛克图211


7.3华夫饼图.214


第8章高维数据可视化216


8.1高维数据的变换展示.218


8.1.1主成分分析法.218


8.1.2t-SNE算法220


8.2分面图.221


8.3矩阵散点图.225


8.4热力图.227


8.5平行坐标系图.230


8.6RadViz图232


8.7图标法.233


8.7.1基于星形图的图标法.234


8.7.2基于柱形图的图标法.236


8.7.3切尔诺夫脸谱图.238


8.8表格图.241


第9章层次关系型图表242


9.1表示层次关系型数据的节点链接图.243


9.2树形图.248


9.3旭日图252


9.4圆堆积图.255


9.5矩形树状图.256


第10章网络关系型图表260


10.1相邻矩阵图.262


10.2和弦图265


10.3桑基图.270


10.4表示网络关系型数据的节点链接图.273


10.5蜂巢网络图.281


10.6边绑定图283


第11章地理空间型图表.287


11.1不同级别的地图.288


11.1.1世界地图.288


11.1.2国家地图.294


11.1.3局部地图.299


11.2分级统计地图.300


11.3点描法地图.304


11.4带饼图的地图.309


11.5带柱形的地图311


11.6沃罗诺伊地图.312


11.7带连接线的地图.314


11.7.1连接地图.314


11.7.2流向地图.315


11.8等位地图317


11.9线型地图.322


11.10点状地图.324


11.11简化示意图.327


11.12邮标法.331


11.13地铁线路图.333


11.13.1示意地铁线路图的绘制334


11.13.2实际地铁线路图335


11.13.3地铁线路图的应用336


第12章论文中学术图表的升级技能341


12.1图片的截取与处理软件.342


12.1.1常见截图软件.342


12.1.2图片处理软件.342


12.2论文中学术图表的规范与调整.343


12.2.1图片的格式与转换.345


12.2.2图片的分辨率.348


12.2.3图片的色彩要求.350


12.2.4图片的物理尺寸.351


12.2.5图片的标注格式.352


12.2.6图片的占内存容量.352


12.2.7在R中导出图表.354


12.3图表绘制的必备技能.355


12.3.1矢量图表元素的修改.355


12.3.2期刊论文的图片提取.357


12.3.3图表数据的重新提取.357


参考文献.360


产品特色